我一直在做一些OO Perl编程,我想知道:哪个是执行单元测试的最佳方式?
到目前为止,我一直在使用Test::Simple模块来执行测试,但感觉如此 不足以满足我的需求。
你能指点我一些不错的模块吗?
答案 0 :(得分:48)
在进一步进行Perl测试之前,我会将我的投票添加到Test::More
。 Perl testing community围绕Test Anything Protocol完全统一,您需要使用Test::More
来了解它的工作原理以及prove
和{{1}等工具可以帮助自动化和分发测试。
如果你想“直接进入”,我认为Test::Class
为xTest工具提供了TAP后端。我根本没用过它(我自己是Test::More
人),但它是very highly rated。
答案 1 :(得分:18)
测试::一旦你掌握了Test :: Simple,更多应该为你的钱提供更多的帮助。
如果您想了解更多信息,也可以参考以前的讨论: how-can-i-implement-tdd-in-perl
答案 2 :(得分:12)
根据您对melaos回答的评论,我会说Test::Class或Test::Unit正是您所寻找的。 p>
答案 3 :(得分:11)
简单的测试示例:
#!/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');
答案 4 :(得分:3)
example用法。