いいえ、できません。また、警告ラベルの楽しい品揃えを積み重ねている:
RETURNS_DEEP_STUBSから:
WARNING:この機能はほとんど通常のクリーンなコードのために必要とされるべきでありません!レガシーコードのままにしておきます。デモータの法則に違反して何か意味のあるヒントを返すか、価値オブジェクト(よく知られている反パターン)を嘲笑するために、モックを返すためのモックを嘲笑して、モックを返す(...)。
いいえ見積もり私はウェブでいつでも見ました:モックがモックを返すたびに、フェアリーが死ぬ。 @InjectMocksから
:
Mockitoを順に、下記のようにコンストラクタインジェクション、セッタ注入、またはプロパティ注射によっていずれか一方のみモックを注入しようとします。次のいずれかの戦略が失敗した場合、は失敗を報告しません;つまり、自分で依存関係を提供する必要があります。
コンストラクタインジェクション;最大のコンストラクタが選択された場合、引数はテストでのみ宣言されたモックで解決されます。オブジェクトがコンストラクタで正常に作成された場合、Mockitoは他の戦略を試しません。 Mockitoは、パラメータ化されたコンストラクタを持っていればオブジェクトを壊さないことに決めました。嘲笑対
自動深いスタブとInjectMocksを可能にすることによって、あなたはあなたが実際に使用した注射スタイルとフィールドの人口についての理由に非常に難しいそれを見つけると、あなたのテストの部分も本物です。これにより、テスト中のシステムから直接取得したり、実際のコードとテストコードの境界を壊したりする可能性のある値をスタブしたり、検証したりすることができなくなります。
要するに、答えは「いいえ」です。より長い答えは、リファクタリングに適切な依存性注入アクセスを含めることを検討し、現在の違反を避けることです。