2017-07-03 4 views
-1

Springアプリケーションでは、デフォルトでオートワイヤードされ、通常のMockitoメソッドでさらにカスタマイズできるモックドビーンを使ってテストを書くことができます。このため、@MockedBeanアノテーションが使用されます。 しかし、Springを使用しないMockitoだけを使用する場合、すべての対話を印刷するようにモックを設定することができます。How to use Mockito to show all invocations on a mockを参照してください。 mocked beanでこのデバッグも可能ですか?@MockBeanアノテーション付きモックとのインタラクションを表示

答えて

0

Sprintのネイティブな方法はありませんが、mockingDetails(<some mock>) Method of Mockitoを使用して、モックのMockingDetailsを取得して、相互作用を印刷することができます。デバッグを@Afterアノテートされたメソッドに入れて、テストが失敗しても毎回それを表示する。

import static org.mockito.Mockito.mockingDetails; 
import org.junit.After; 
import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.springframework.boot.test.context.SpringBootTest; 
import org.springframework.boot.test.mock.mockito.MockBean; 
import org.springframework.test.context.junit4.SpringRunner; 
import com.fasterxml.jackson.core.JsonProcessingException; 

@RunWith(SpringRunner.class) 
@SpringBootTest(
public class MyTest { 
    @MockBean 
    LoginDAO loginDaoMock; 

    @Test 
    public void xyz() { 
    // some test 
    } 

    @After 
    public void showInteractions() { 
     System.out.println(mockingDetails(loginDaoMock).getInvocations()); 
    } 
} 
関連する問題