如何在Perl中进行单元测试?

时间:2009-02-02 09:15:22

标签: perl unit-testing testing

我一直在做一些OO Perl编程,我想知道:哪个是执行单元测试的最佳方式?

到目前为止,我一直在使用Test::Simple模块来执行测试,但感觉如此 不足以满足我的需求。

你能指点我一些不错的模块吗?

5 个答案:

答案 0 :(得分:48)

在进一步进行Perl测试之前,我会将我的投票添加到Test::MorePerl 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::ClassTest::Unit正是您所寻找的。

答案 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)

您可以在此Test::Class中看到

example用法。