gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 22:03:23 25 4
gpt4 key购买 nike

我对 jasmine 和编写测试用例还很陌生。所以我有这种情况,我在 typescript

中有如下功能
someFunction(value: number){
return isNaN(value) ? value : value * 3;
}

value 是一个 number 时尝试编写测试用例时没问题。但我想为 valueNaN 的场景编写一个测试用例,比如字符串。在后一种情况下,我在编写代码时遇到错误,即

Argument of type 'string' is not assignable to parameter of type number.

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

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

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

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

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

最佳答案

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

declare function isNaN(value: string): boolean;

虽然这行得通,但通过书面形式明确表达可能是更好的做法

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

关于javascript - typescript - Jasmine 中无效参数的测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49488718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com