2016-08-09 1 views
-1

私は最近、Junitテストで@Mockitoアノテーションを使用して作業を開始しました。すべてのサブクラスで1つの場所(スーパークラス)でMockitoルールを設定する方法

私が@Mockitoを使用し始めた理由は、すべてのサービスクラスに@Autowiredを使用すると非常に時間がかかりました。 、userService

私は私のスーパークラス

@Mock 
    private UserService userService; 

とすべてのサブクラスのモック設定することでこれを持っているしたいと思います:

私はexmpleのために同じクラスを使用することを50以上のテストを持っていますすべてのサブクラスは、切り抜いた方法と、複数の通常@Test

を持っている私は@Test方法でこの行を追加して何をすべきか:

Mockito.when(userService.isValid()).thenReturn(true)); 

このモックをスーパークラスの1か所に設定すると、このモックを使用してすべてのサブクラスが知ることができますか?

+0

を設定を求めていることを利用していることを解決しました?スーパークラスの '@RunWith(MokcitoJunitRunner.class)'とフィールド上の '@Mock protected UserService userService'は動作します –

+0

どのようにすべてのサブクラスがこの動作を知ることができます Mockito.when(userService.isValid())。then return (真)); – 2Big2BeSmall

+0

セットアップメソッドコール "Mockito.when(userService.isValid())。then return(true));を持つ抽象テストクラスを作成しないでください。 – kuhajeyan

答えて

0

私はこの注釈

@Before – Run before @Test 

、あなたは子クラスへのクラスのフィールドが表示されるようにする方法ここで、iは、ルールにMockito.when(userService.isValid()).thenReturn(true));

関連する問題