【发布时间】:2018-03-04 04:31:14
【问题描述】:
我正在重构基于Test::Class 构建的测试套件,并希望在基础测试类和某些测试类中利用Moose 等Roles 的优点
我试过了:
- 在基础测试类中使用
MooseX::NonMoose - 在基类中使用
MooseX::InsideOut - 设置
make_immutable( inline_constructor => 0 );
虽然我之前从未使用过任何MooseX 模块,也不能确定我是否正确使用了它们。在我的所有试验中,我在运行测试套件时收到以下错误:
Test::Class 内部似乎很混乱。你是否覆盖了 new() 子类还是通过多重继承?
产生此故障的简单示例:
基础测试类:
package My::Test::Class::Base;
use Moose;
use Test::Class::Most;
1;
一个测试类:
package Test::Package::Class;
use Moose;
use Test::Class::Most parent => 'My::Test::Class::Base';
sub blah : Tests() {
my $test = shift;
can_ok($test->class(), 'blah');
}
1;
正在测试的类:
package Package::Class;
use Moose;
sub blah {
my $self = shift;
return 1;
}
1;
那么,我做错了什么?
【问题讨论】: