Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确地进行单元测试数转换_Javascript_Unit Testing - Fatal编程技术网

Javascript 如何正确地进行单元测试数转换

Javascript 如何正确地进行单元测试数转换,javascript,unit-testing,Javascript,Unit Testing,我试图找出如何正确地编写数字转换的单元测试,使其具有100%的测试覆盖率并覆盖所有可能性 比方说,我有一个函数,可以把整数转换成罗马数字。它在1到3999之间工作: function integerToRoman(integer) { ... } 我如何才能确保它真正起作用?为1到3999之间的每个数字编写4000个单元测试似乎不是一个好的选择。另一方面,如果我只是选择一些随机数并为它们编写测试,那么我无法100%确定函数是否工作。100%覆盖率并不意味着测试每个可能的输入值。但这意味着你:

我试图找出如何正确地编写数字转换的单元测试,使其具有100%的测试覆盖率并覆盖所有可能性

比方说,我有一个函数,可以把整数转换成罗马数字。它在1到3999之间工作:

function integerToRoman(integer) { ... }

我如何才能确保它真正起作用?为1到3999之间的每个数字编写4000个单元测试似乎不是一个好的选择。另一方面,如果我只是选择一些随机数并为它们编写测试,那么我无法100%确定函数是否工作。

100%覆盖率并不意味着测试每个可能的输入值。但这意味着你:

  • 覆盖所有功能线
  • 覆盖测试正常(通用)输入值(并非所有可能,但如果处理方式不同,则来自不同范围)
  • 覆盖你能想到的所有边缘情况
  • 覆盖各种无效输入值(也包括无输入值)

  • 就是这样。

    100%覆盖率并不意味着测试每一个可能的输入值。但这意味着你:

  • 覆盖所有功能线
  • 覆盖测试正常(通用)输入值(并非所有可能,但如果处理方式不同,则来自不同范围)
  • 覆盖你能想到的所有边缘情况
  • 覆盖各种无效输入值(也包括无输入值)
  • 就这样