2016-04-14 11 views
0
@RunWith(MockitoJUnitRunner.class) 
public class Test { 

    @Mock private A a; 
    @Spy private B b = new B(a); 

'b'が構成されている場合、 'a'はまだnullです。ユニットテストがいくつかのメソッドにヒットすると、 'a'はnullになりません。モックをスパイコンストラクタに渡すにはどうすればいいですか?

非ヌルモック「a」でスパイ「b」を構築する方法はありますか?

+2

注釈の代わりにプログラムでいつでも実行できます。 – biziclop

+1

これをプログラムで実行すると機能しませんでした。注釈を付ける方法があれば私は興味があります。 – Nelson

+1

私が言うことができる限り、いいえ。 'b'は' Test'インスタンスが構築されたときに設定され、 'a'は後でMockitoによって設定されます。つまり、Mockitoが 'Test'のバイトコードを変更してインスタンス構築を傍受しない限りです。 – biziclop

答えて

1

唯一の方法は、@Before注釈付きメソッドに移動することです。