
mockito 框架的不同方法
mockito 是一个强大的工具,用于创建模拟对象并定义其行为。以下是 mockito 中一些最常用的方法及其使用顺序:
1. 模拟()
创建类或接口的模拟实例。
myclass mockobject = mock(myclass.class);
2. 当(...).thenreturn(...)
定义调用方法时模拟的行为。
when(mockobject.somemethod()).thenreturn("mocked response");
3. 验证(...)
验证是否使用特定参数在模拟对象上调用了方法。
verify(mockobject).somemethod();
4. 验证nomoreinteractions(...)
检查模拟对象上是否没有发生其他交互。
JTBC CMS(5.0) 是一款基于PHP和MySQL的内容管理系统原生全栈开发框架,开源协议为AGPLv3,没有任何附加条款。系统可以通过命令行一键安装,源码方面不基于任何第三方框架,不使用任何脚手架,仅依赖一些常见的第三方类库如图表组件等,您只需要了解最基本的前端知识就能很敏捷的进行二次开发,同时我们对于常见的前端功能做了Web Component方式的封装,即便是您仅了解HTML/CSS也
verifynomoreinteractions(mockobject);
5. 重置(...)
将模拟对象重置为其初始状态。
reset(mockobject);
使用顺序
这是在测试中使用 mockito 方法的典型顺序:
- mock() - 创建模拟对象。
- when(...).thenreturn(...) - 定义模拟对象的行为。执行被测试的代码。
- verify(...) - 验证与模拟对象的交互。
- verifynomoreinteractions(...) - 确保没有意外的交互。
- reset(...) - 可选:重置模拟以便在其他测试中重用。
例子
import static org.mockito.Mockito.*;
public class ExampleTest {
@Test
public void testExample() {
// 1. Create mock
MyClass mockObject = mock(MyClass.class);
// 2. Define behavior
when(mockObject.someMethod()).thenReturn("Mocked Response");
// Code under test
String result = mockObject.someMethod();
// 3. Verify interactions
verify(mockObject).someMethod();
// Optional: Verify no more interactions
verifyNoMoreInteractions(mockObject);
// Optional: Reset mock
reset(mockObject);
}
}
结论
mockito 提供了一组在单元测试中创建、配置和验证模拟对象的方法。创建模拟、定义其行为、执行测试和验证交互的顺序确保单元测试是隔离且可靠的。









