で構築されたテスト スイートをリファクタリングしています。基本テスト クラスと一部のテスト クラスの両方で、RolesなどのMooseの優れたTest::Class
点を利用したいと考えています。
私が試してみました:
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;
それで、私は何を間違っていますか?