2012-09-07 51 views
2

在我斷言的下面的瑣碎練習中,我期望1,但得到0.爲什麼我看到這種行爲?爲什麼Mockito會給我模擬對象的默認值?

public class MockitoTest { 

    POJO mockedPojo; 

    @Before 
    public void setup() { 
     mockedPojo = mock(POJO.class); 
    } 

    @Test 
    public void testIndifferentMethodInvocationOrder() { 
     int result1 = mockedPojo.getOne(); 
     assertEquals(1, result1); 
    } 

    class POJO { 
     int count = 1; 
     int getOne() { 
     return count++; 
     } 
     int getTwo() { 
     return count++; 
     } 
    } 

}

回答

7

你已經嘲笑了整個類,這意味着是的Mockito提供執行和更換你的。

Mockito的類的模擬實現返回值類型的默認值,在本例中解釋了爲什麼它返回零。

通常,你不會嘲笑你正在測試的課程。您通常使用模擬來了解對象的協作者的行爲。

相關問題