现在当我做这样的事情时:
use strict;
use warnings;
package My::Test;
use parent 'Test::Class';
use Test::More;
sub overrides_basic : Tests {
ok( 1, "works" ); ok( 1, "works" );
}
sub overrides_no_profile : Tests {
ok( 2, "works" ); ok( 2, "works" );
}
__PACKAGE__->runtests;
1;
输出是这样的:
ok 1 - works
ok 2 - works
ok 3 - works
ok 4 - works
1..4
这不是很好。
但是,如果我这样做:
use strict;
use warnings;
package My::Test;
use parent 'Test::Class';
use Test::More;
sub overrides_basic : Tests {
subtest 'overrides_basic' => sub {
ok( 1, "works" ); ok( 1, "works" );
};
}
sub overrides_no_profile : Tests {
subtest 'overrides_no_profile' => sub {
ok( 2, "works" ); ok( 2, "works" );
};
}
__PACKAGE__->runtests;
1;
输出更好,更可取,如下所示:
ok 1 - works
ok 2 - works
1..2
ok 1 - overrides_basic
ok 1 - works
ok 2 - works
1..2
ok 2 - overrides_no_profile
1..2
这里的问题是这需要做很多不必要的打字工作。所以现在,我只是对Test :: Class进行子类化以重新定义Tests sub-arg。
但是我想知道是否已经找到了一个我无法找到的简单解决方案。
答案 0 :(得分:3)
经过一些研究后我发现这似乎根本没有得到支持,所以,这是我刚才写的一个模块来解决这个问题:
答案 1 :(得分:1)
Test :: Class将在我获得备用测试时更新以支持子测试: - )
我们在2009年的qa-hackathon上介绍了初稿。只需要找时间整理并合并最新的修复程序。