有没有一个Perl模块可以让我查看程序(或函数)的实际输出和参考输出之间的差异?如果存在差异,则测试失败。
此外,如果有差异,但输出是OK的(因为功能已经改变),我希望能够提交实际输出作为未来的参考输出。
发布于 2008-09-15 20:26:46
Perl具有用于进行测试的优秀实用程序。最常用的模块可能是Test::More,它提供了编写回归测试可能需要的所有基础设施。prove实用程序为运行测试套件和汇总结果提供了一个简单的界面。Test::Difference模块(可以与Test::More一起使用)可能对您也很有用。它将差异格式化为并排比较。至于将实际输出作为新的参考材料提交,这将取决于被测代码如何提供输出以及如何捕获它。如果您写入文件,然后对它们进行比较,应该很容易。如果是这种情况,您可能希望在测试套件中使用Text::Diff模块。
发布于 2008-09-16 06:27:21
正如前面提到的,Test::Difference是实现这一点的标准方法之一,但我需要提到PerlUnit:请不要使用它。它是“弃件”,不能与标准的Perl测试工具集成。因此,对于所有新的测试模块,如果您想要使用它们,就必须移植它们的功能。(如果有人对这个废弃的模块进行了维护,请给我写信。我需要与他们交谈,因为我维护核心测试工具,我希望帮助与PerlUnit集成)。
免责声明:虽然它不是我写的,但我目前维护的是Test::Difference,所以我可能有偏见。
发布于 2008-09-15 20:16:46
我倾向于使用更多的Test::Simple和Test::More功能。我看过PerlUnit,它似乎提供了许多功能,这些功能已经通过Test::Simple和Test::More库构建到了标准库中。
https://stackoverflow.com/questions/66330
复制相似问题