我重構了一個構建於Test::Class
上的測試套件,並且想要利用Moose的細微差別,如Roles,無論是在基本測試類中,還是在某些測試類在測試:: Class中使用Moose - 構造函數的問題
我曾嘗試:
- 在基礎測試類
- 使用
MooseX::NonMoose
在基類 - 設置0123使用
雖然我從來沒有使用過任何這些MooseX模塊之前,不能肯定我正確地使用它們。在我所有的試驗我收到上運行的測試套件以下錯誤:
測試::類的內部似乎混淆。您是否在 子類中或通過多重繼承覆蓋new()?
產生這種故障Simple示例:
基礎測試類:
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;
那麼,我做錯了什麼?
是的,這就是爲什麼我正在用MooseX :: NonMoose等來試着讓駝鹿與Test :: Class構造函數很好的搭配。我會爲我自己的項目玩Test :: Class :: Moose,然後回覆你。這個問題是由$ work引發的;將該項目從Test :: Class遷移到另一個測試平臺將會與惰性和管理(爭取時間)做鬥爭。除非有骯髒的黑客才能得到Test :: Class和Moose的配合,否則我想我將成爲無角色 – beresfordt
nickisfat:你可以使用我的[Role :: Basic](https://metacpan.org/模塊/角色::基本)模塊來獲取角色,當你沒有駝鹿或替代品。我承認我從來沒有對Role :: Basic的界面感到滿意,但是它應該做到這一點。 – Ovid