我一直在做一些OO Perl编程,我想知道:哪个是执行单元测试的最佳方法?
到目前为止,我一直在使用Test :: Simple模块来执行测试,但感觉不足以满足我的需求.
你能指点我一些很好的模块吗?
Test::More
在进行Perl测试之前,我会加入我的投票选择.在Perl的测试社区是相当不错的周围团结测试任何协议,你会想玩弄Test::More
了解它是如何工作以及如何之类的工具prove
,并Test::Harness::Archive
能帮助自动化和分发测试.
如果你想"直接进入",我认为Test::Class
xTest设施提供了一个TAP后端.我根本没有使用它(我Test::More
自己就是一个人),但它的评价非常高.
测试::一旦你掌握了Test :: Simple,我会为你的雄鹿提供更多的帮助.
如果您想了解更多信息,也可以参考以前的讨论: how-can-i-implement-tdd-in-perl
根据你对melaos回答的评论,我会说Test :: Class或Test :: Unit就是你要找的东西.
简单测试示例:
#!/usr/bin/perl -w use strict; use warnings 'all'; use Test::More plan => 4; # or use Test::More 'no_plan'; use_ok('My::Module', 'Loaded My::Module'); ok( my $obj = My::Module->new(), 'Can create instance of My::Module'); ok( $obj->value('hello'), 'Set value to hello' ); is( $obj->value => 'hello', 'value is still hello');