オブジェクトを作成するためのファクトリを使用してクラスを取得しました。 私のユニットテストでは、工場の戻り値にアクセスしたいと思います。 ファクトリは直接クラスに渡され、作成されたオブジェクトのゲッタは提供されないため、ファクトリからオブジェクトを戻すことを傍受する必要があります。Mockito + Spy:戻り値を取得する方法
RealFactory factory = new RealFactory();
RealFactory spy = spy(factory);
TestedClass testedClass = new TestedClass(factory);
// At this point I would like to get a reference to the object created
// and returned by the factory.
工場の戻り値にアクセスする可能性はありますか?おそらくスパイを使用していますか?
私が見ることができる唯一の方法は、メソッドを作成し、工場を模擬することです...
よろしく
:使用方法対象
。工場で作られた実際のクラスを求めてはいけません。 ?(Demeterの法則) –
'TestedClass'はOSGiコンポーネントです。コンポーネントのメソッドは、各呼び出しに、ファクトリによって作成された新しいオブジェクトを必要とします。私は、より良いテスト容易性を提供するために、オブジェクトの作成をファクトリ・クラスにリファクタリングしました。作成されたオブジェクトはメソッドのパラメータによって初期化されるため、ファクトリではなく作成されたオブジェクトを単純に渡すことはできません。 –