2017-05-02 4 views
0

@Mockオブジェクトインスタンスがnull nullです。私はこれをやっている@Mockオブジェクトインスタンスは

は私のテストクラス

@Mock 
private SchoolRequest schoolRequest; 

@InjectMock 
private FormRequest formRequest; 

@Before 
public void init(){ 
    MockitoAnnotations.initMocks(this); 
} 

Class FormRequest { 

@Autowired 
private SchoolRequest schoolRequest; 


} 

このアプリケーションは正常に動作しているが、テストケースにschoolRequestはnullとして来ています。なぜそれが起こるかもしれないの上の任意のポインタ?

+0

あなたの問題を再現するサンプルコードを提供することはできますか? –

+0

非常に大きなコードベースです。コード全体を入れることはできません。 –

+0

は最終的にSchoolRequestですか? –

答えて

0

...これはあなたのために働く必要があります願っています。

private SchoolRequest schoolRequest = Mockito.mock(SchoolRequest.class); 

誰かがこれがなぜ機能するのかもコメントできますか。 @MockMockito.mockの違いは何ですか。私は彼らが同じだと思った。

1

私はあなたがクラスレベルで@RunWith注釈が欠落していると思います。 @Mockアノテーションを使いたいときはいつでも、MockitoJUnitRunnerを使うべきです。

@RunWith(MockitoJUnitRunner.class) 
public class MockitoTest { 
@Mock 
private SchoolRequest schoolRequest; 

@InjectMock 
private FormRequest formRequest; 

@Before 
public void init(){ 
    MockitoAnnotations.initMocks(this); 
} 
} 

私は理由は分からないが、これは働いていた

+0

それはオプションの一つです。 http://stackoverflow.com/questions/29590621/mock-instance-is-null-after-mock-annotation –

+0

私もこれを試してみましたが、同じ結果しています。 –