我有一个带有t/
测试目录的常用 MakeMaker 模块,我可以使用例如prove -I lib t/my-test.t
.
我的测试使用Test::Class
andTest::More
和 subs(使用 Effective Perl 的 modulino 技术),如下所示:
use strict;
use warnings;
use base 'Test::Class';
use Test::More;
__PACKAGE__->runtests() unless caller;
sub set_up : Test(setup) {
# ...
}
sub test_something : Test {
is(MyModule::some_sub(1), 1);
}
# ...more test subs...
现在我想使用 Perl 调试器来调查一个在我的模块中显示问题的测试子。我只想test_something
在调试器中运行,而不运行.t
文件中的所有其他测试子程序。
prove
似乎没有这样的选择。
perl -d -I lib t/my-test.t
运行所有测试,除非我更改我的 modulino 以调用 setup 方法,然后调用实际的测试方法,而不是__PACKAGE__->runtests()
:
unless (caller) {
set_up();
test_something();
done_testing();
}
如何在不修改代码的情况下只运行一个测试子?