我有一個測試,當他們運行單獨工作正常。但是,當我將它們運行在一起時,總會失敗,預計兩次測試的總體調用會失敗,而不是一次。Mockito不重置
我已經在前後方法中添加了Mockito.reset,但無濟於事。
private Logic mockTest = Mockito.mock(Logic.class);
@Before
public void createMocks() {
Mockito.reset(mockTest);
}
@Test
public void TestGameList() {
Mockito.when(mockTest.getGame()).thenReturn(null);
Mockito.verify(mockTest, Mockito.times(1)).getGame();
}
@Test
public void TestGame2List() {
Mockito.when(mockTest.getGame()).thenReturn(null);
Mockito.verify(mockTest, Mockito.times(1)).getGame();
}
爲什麼不重置工作?
我試圖VerificationModeFactory來算,但是,這並不工作要麼
確保'createMocks()'方法實際被調用。 –
當您使用JUnit運行此應用程序時,應該不需要您的'createMocks'方法。 JUnit爲每個測試創建一個新的類實例。所以只要字段'mockTest'不是靜態的,你就會對每個測試都有一個新的模擬。不需要'reset()'。但是,你在這裏寫的這兩個測試都會失敗,因爲沒有任何對'mockTest'的調用。 ('當(mockTest.getGame())。然後返回(...)'只是存根,這不是對'getGame()')的調用。 – benjamin