在单元测试中,verifyZeroInteractions()
是 Mockito 框架中的一个方法,用于验证一个模拟对象是否没有被任何方法调用。如果你想验证与模拟对象交互的确切数量,可以使用 Mockito 提供的其他方法来实现。
以下是一些常用的 Mockito 方法,用于验证模拟对象的交互次数:
verify(mockObject, times(expectedCalls))
:
这个方法用于验证 mockObject
被调用的次数是否等于 expectedCalls
。verify(mockObject, times(expectedCalls))
:
这个方法用于验证 mockObject
被调用的次数是否等于 expectedCalls
。verify(mockObject, atLeast(times(expectedCalls)))
:
这个方法用于验证 mockObject
被调用的次数至少是 expectedCalls
。verify(mockObject, atLeast(times(expectedCalls)))
:
这个方法用于验证 mockObject
被调用的次数至少是 expectedCalls
。verify(mockObject, atMost(times(expectedCalls)))
:
这个方法用于验证 mockObject
被调用的次数最多是 expectedCalls
。verify(mockObject, atMost(times(expectedCalls)))
:
这个方法用于验证 mockObject
被调用的次数最多是 expectedCalls
。verifyNoMoreInteractions(mockObject)
:
这个方法用于验证 mockObject
没有被调用超过已经验证的次数。verifyNoMoreInteractions(mockObject)
:
这个方法用于验证 mockObject
没有被调用超过已经验证的次数。假设我们有一个简单的接口 MyService
和一个实现类 MyServiceImpl
:
public interface MyService {
void doSomething();
}
public class MyServiceImpl implements MyService {
@Override
public void doSomething() {
// 实现细节
}
}
我们可以编写一个单元测试来验证 doSomething
方法被调用的次数:
import static org.mockito.Mockito.*;
import org.junit.jupiter.api.Test;
import org.mockito.MockitoAnnotations;
import org.mockito.Mock;
public class MyServiceTest {
@Mock
private MyService myService;
@Test
public void testDoSomething() {
// 初始化 mocks
MockitoAnnotations.openMocks(this);
// 调用方法
myService.doSomething();
myService.doSomething();
// 验证调用次数
verify(myService, times(2)).doSomething();
}
}
通过这些方法和示例代码,你可以验证与模拟对象交互的确切数量,并确保你的单元测试覆盖了预期的行为。
领取专属 10元无门槛券
手把手带您无忧上云