我有一个测试,当他们单独运行时工作正常。然而,当我一起运行它们时,总是无法期望在两个测试中进行总调用而不是一个。
我在前后方法中添加了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来计算它,但这不起作用
答案 0 :(得分:0)
使用以下其中一项:
@Mock
private Logic mockTest;
@Before
public void createMocks() {
MockitoAnnotiation.initMocks(this);
}
或
private Logic mockTest;
@Before
public void createMocks() {
mockTest = Mockito.mock(Logic.class);
}
无论哪种方式,您都会为每个测试创建一个全新的模拟,从而确保在测试中不会保持任何状态。