我如何在Perl中进行unit testing?
我一直在做一些OO的Perl编程,我想知道:哪个是进行unit testing的最好方法?
到目前为止,我一直在使用Test :: Simple模块来执行testing,但是对于我想要的,感觉不够。
你能指出我一些很好的模块吗?
在添加Perltesting之前,我会添加我的投票来获取Test::More
。 Perltesting社区围绕“ testing任意协议”很好地结合在一起,您将需要使用Test::More
来了解它是如何工作的以及工具类似prove
和Test::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的用法,你可以在这个例子中看到。