如何在Javascript中单元测试不安全的整数?

问题描述 投票:0回答:1

这是打字稿。

我有一个函数(实际上是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看起来很奇怪。

javascript integer rounding integer-overflow
1个回答
0
投票

const testUpper = (num) => Number.MAX_SAFE_INTEGER > num

在javascript中为js中的长数字进行基本测试。希望这可以帮助

© www.soinside.com 2019 - 2024. All rights reserved.