如何使用Test :: Unit :: Lite框架运行单个测试?

时间:2013-04-11 23:15:32

标签: perl testing

我正在使用CPAN的Test :: Unit :: Lite模块来运行设置如下的测试:

t/FooTest.pm
t/BarTest.pm

我一直在使用Test :: Unit :: Lite手册页中的test.pl脚本运行所有测试,但我无法弄清楚如何在迭代时从一个文件运行测试经过测试的功能。

From another answer,看起来它可能只能通过将我的测试移动到子目录或以其他方式修改它们来实现,但如果没有更简单的方法,我会感到惊讶。

1 个答案:

答案 0 :(得分:1)

想出如何做到这一点。

在test.pl结束时,我换掉了

all_tests

并将其替换为

if (@ARGV) {
  for my $t (@ARGV) {
    Test::Unit::TestRunner->new->start($t);
  }
} else {
  all_tests;
}

我还必须添加

 unshift @INC, File::Spec->catdir($cwd, 't/tlib');
行后

 unshift @INC, File::Spec->catdir($cwd, 'lib');

现在我可以执行“test.pl FooTest”或“test.pl BarTest”或“test.pl”来运行所有测试。