typescript - jasmine中无效参数的测试用例

时间:2018-03-26 09:59:47

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

我对jasmine非常陌生并撰写测试用例。 所以我有这个场景,我在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是我的最后选择。

1 个答案:

答案 0 :(得分:-1)

如果您确实想要这样做,那么您可以声明自己的重载

declare function isNaN(value: string): boolean;

虽然这有效,但通过编写

可能更好的做法
if (Number.isNaN(Number(value)) {...}