私は、3つのテストクラス(TextModelTest
、LocalClassificationTaskTest
、ModelFetcherTest
)のプロジェクトを持っています。 個別に実行すると、それぞれが合格しますが、一度にすべてを実行すると(Eclipseから)、3番目のテスト(ModelFetcherTest
)はすべてNullPointerException
で失敗します。驚くべきことに、テストされたクラス(ModelFetcher
)に入れたブレークポイントでも日食は止まらないでしょう。JMockit @モックアノテーションによって他のテストが失敗する
3番目のクラスが失敗する原因を調べるために成功した各テストを無視しようとすると、2番目のテストクラス(LocalClassificationTaskTest
)にModelFetcher
のMockedフィールドがあり、 ModelFetcherTest
で
@Mocked ModelFetcher modelFetcher;
:3テストクラスのCUTこれは
@Tested ModelFetcher modelFetcher;
私は@Mocked
注釈を除去しとの論理を置き換えます0(これはもっと面倒で冗長ですが、何でも)、今はすべて動作します。
この問題はeclipseでのみ発生したことに注意してください。すべてのテストはMavenで実行されたときに渡されました。 競争上の問題はなく、すべてのテストが合格し、一貫して失敗します(不運が関係しません)。
@Mocked
注釈は、同じプロジェクト内の他のテストケースに影響を及ぼしますか?
これらの3つのテストクラスのうち、 "正しい"順序で実行すると失敗を再現する[最小限のバージョン](http://stackoverflow.com/help/mcve)を表示する必要があります。それ以外の場合、実際の回答を提供する方法はありません。 –