是否有Perl模块允许我查看程序(或函数)的实际输出和参考输出之间的差异?如果存在差异,则测试失败.
此外,如果存在差异但输出正常(因为功能已更改),我希望能够将实际输出提交为将来的参考输出.
Perl具有很好的测试工具.最常用的模块可能是Test :: More,它提供了编写回归测试可能需要的所有基础结构.prove实用程序为运行测试套件和汇总结果提供了一个简单的界面.Test :: Differences模块(可与Test :: More一起使用)也可能对您有用.它将差异格式化为并排比较.至于将实际输出提交为新的参考材料,这将取决于您的测试代码如何提供输出以及如何捕获它.如果你写文件然后比较它们应该很容易.如果是这种情况,您可能希望在测试套件中使用Text :: Diff模块.
如上所述,Test :: Differences是实现此目标的标准方法之一,但我需要提及PerlUnit:请不要使用它.它是"放弃软件",并没有与标准的Perl测试工具集成.因此,对于所有出现的新测试模块,如果要使用它们,则必须移植它们的功能.(如果有人已经开始维护这个废弃的模块,请给我说一句.我需要与他们交谈,因为我维护了核心测试工具,我希望能够帮助与PerlUnit集成).
免责声明:虽然我没有写它,但我目前维持测试::差异,所以我可能有偏见.