首页/开发/软件测试速查/Mockito 打桩与验证
自动化测试66 条

Mockito 打桩与验证

Mockito 用 when(...).thenReturn(...) 定义桩行为、verify(...) 校验调用次数与参数;@Mock 创建替身、@InjectMocks 注入被测对象,配合 MockitoExtension 自动初始化。

软件测试速查开发更新于 2026-10-12

示例

示例
@ExtendWith(MockitoExtension.class)
class PaymentTest {
    @Mock Gateway gateway;
    @InjectMocks PaymentService service;

    @Test
    void pays() {
        when(gateway.charge(100)).thenReturn(true);
        assertTrue(service.pay(100));
        verify(gateway).charge(100);
    }
}
桩的返回值要贴合真实类型约束;用 thenThrow 覆盖下游异常分支。

易错点

  • 对 void 方法用 when(...) 打桩报错,应改用 doReturn/doThrow 系列
  • verify 次数设置过严(times(1)),合理重构后频繁误报

数据来源与参考

  • Mockito 官方文档(site.mockito.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌