这是打字稿。
我有一个函数(实际上是Angular管道),它根据输入将天数转换为字符串,如“1天”或“2天”。
transform(day: number): string {
const result = /* here's a logic */;
return result; // outputs smthg like '1 day' or '5 days'
}
我为它编写了单元测试,当我写出像12312512135351513这样的超大数字时,它们没有通过。
我建议它是关于安全整数限制,我的输入溢出它。
所以问题是:如何测试接收这种不安全整数输入的函数?他们的输出意外。
避免不安全的数字是一个解决方案,但它是一个好的吗?另一个是将数字作为字符串,切割最后一个数字并使用它,但函数的API看起来很奇怪。
const testUpper = (num) => Number.MAX_SAFE_INTEGER > num
在javascript中为js中的长数字进行基本测试。希望这可以帮助