我有一个测试,当他们单独运行时,工作正常。然而,当我将它们一起运行时,一个总是失败,期望两个测试而不是一个测试的总调用次数。
我在before和after方法中添加了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来计算,但也不起作用
发布于 2014-03-26 19:40:37
使用以下选项之一:
@Mock
private Logic mockTest;
@Before
public void createMocks() {
MockitoAnnotiation.initMocks(this);
}或
private Logic mockTest;
@Before
public void createMocks() {
mockTest = Mockito.mock(Logic.class);
}无论采用哪种方法,您都将为每个测试创建一个全新的mock,从而确保在所有测试中都不会维护任何状态。
https://stackoverflow.com/questions/22658624
复制相似问题