【问题标题】:typescript - test case for invalid arguments in jasminetypescript - 茉莉花中无效参数的测试用例
【发布时间】:2018-09-04 10:27:50
【问题描述】:

我对@9​​87654321@ 和编写测试用例非常陌生。 所以我有这种情况,我在typescript中具有如下功能@

someFunction(value: number){
   return isNaN(value) ? value : value * 3;
}

valuenumber 时尝试编写测试用例,这很好。但我想为valueNaN 的场景写一个测试用例说字符串。在后一种情况下,我在编写代码时遇到错误,即

'string' 类型的参数不能分配给 number 类型的参数。

这是一个有效的错误。因为我试图将 string 传递给需要 number 的函数。

我不知道如何为这种情况编写测试用例。

一种可能的解决方案是将参数类型声明为any,如下所示。

someFunction(value: any){
   return isNaN(value) ? value : value * 3;
}

我仍然想知道是否有更好的方法来实现我想要做的事情,或者只是将类型更改为 any 是我的最后选择。

【问题讨论】:

  • 致电someFunction("myValue" as any)
  • 谢谢,这听起来合乎逻辑,而不是更改我的函数签名。

标签: javascript unit-testing typescript jasmine karma-jasmine


【解决方案1】:

如果你真的想这样做,那么你可以声明你自己的重载

declare function isNaN(value: string): boolean;

虽然这行得通,但最好的做法是通过写作来明确

if (Number.isNaN(Number(value)) {...}

【讨论】:

  • 反对者请发表评论。解释如何改进这一点。肯定没有错。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-21
  • 1970-01-01
相关资源
最近更新 更多