我对jasmine
非常陌生并撰写测试用例。
所以我有这个场景,我在typescript
someFunction(value: number){
return isNaN(value) ? value : value * 3;
}
尝试编写测试用例时value
是number
的罚款。但我想为value
为NaN
字符串的情况编写一个测试用例。在后一种情况下,我在编写代码时会出现错误,即
类型'string'的参数不能分配给类型为number的参数。
这是一个有效的错误。因为我试图将string
传递给期望number
的函数。
我无法弄清楚如何为这种情况编写测试用例。
一种可能的解决方案是将参数类型声明为any
,如下所示。
someFunction(value: any){
return isNaN(value) ? value : value * 3;
}
我仍然想知道有没有更好的方法来实现我想要做的事情,或者只是将类型更改为any
是我的最后选择。
答案 0 :(得分:-1)
如果您确实想要这样做,那么您可以声明自己的重载
declare function isNaN(value: string): boolean;
虽然这有效,但通过编写
可能更好的做法if (Number.isNaN(Number(value)) {...}