我如何在Perl中进行unit testing?

我一直在做一些OO的Perl编程,我想知道:哪个是进行unit testing的最好方法?

到目前为止,我一直在使用Test :: Simple模块来执行testing,但是对于我想要的,感觉不够。

你能指出我一些很好的模块吗?

在添加Perltesting之前,我会添加我的投票来获取Test::More 。 Perltesting社区围绕“ testing任意协议”很好地结合在一起,您将需要使用Test::More来了解它是如何工作的以及工具类似proveTest::Harness::Archive如何帮助自动化和分发testing。

如果你想“跳进去”,我认为Test::Class提供了一个TAP后台的xTest设施。 我没有使用它(我自己是一个Test::More人),但它的评分非常高 。

testing::更多应该为您提供更多的爆炸一旦你得到Test :: Simple的挂钩。

如果你想要更多的信息,你也可以参考你以前的讨论真正如何,我可以执行tdd-in-perl

根据你对melaos答案的评论,我会说Test :: Class或Test :: Unit是你正在寻找的。

简单的testing例子:

 #!/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'); 

Test :: Class的用法,你可以在这个例子中看到。