您将推荐哪些框架和工具用于Perl中的单元测试和模拟对象?
我有一个现有的Perl应用程序,主要是数据库访问,读写文件.应用程序基本上是批处理作业类型的应用程序,它从文件和数据库中读取一堆东西,并将一些新文件和一些东西写入数据库.
该应用程序目前没有任何单元测试,但我希望重构应用程序有良好的单元测试.
您将推荐哪些框架和工具进行单元测试和嘲弄对象?例如类似于Java的Hamcrest和JMock的东西?
另外,是否有适合Perl的良好BDD(行为驱动开发)测试框架?
解决方法
在测试框架方面,我喜欢使用
Test::Class,它允许您以类似于JUnit的方式设置好的单元测试层次结构.链接的文档提供了一个很好的概述,但是如果您还不熟悉Perl测试约定,请查看
Test::Simple和
TAP的文档,这是Perl测试的标准输出格式.
对于嘲笑,有Test::Mock::Class,这对于直接控制之外的库设置模拟类是有用的,例如您的应用程序所依赖的CPAN模块.
还有一个非常优秀的Test::MockDBI,它提供了嘲弄你的数据库东西的特殊设施.