Spring 单元测试中如何进行 mock的实现
所谓 “mock” 就是用一个“假”的服务代替真正的服务。其中,利用框架 mock 主要是为了简化代码编写。手动 mock手动 mock 其实就是重新创建一个类继承被 mock 的服务类,并重写里面的方法。在单元测试中,利用依赖注入的方式使用 mock 的服务类替换原来的服务类。如果被 mock 的类修改了函数名称或者功能,mock 类也要跟着修改,增加了维护成本。为了提高效率,减少维护成本,我们推荐使用单元测是框架进行 mock。然后,我们可以使用 mock 对象指定其方法的返回值,并验证其方法是否被调用。与 Mockito.mock() 方法不同的是,我们需要在测试期间启用 Mockito 注解才能使用 @Mock 注解。该 mock 对象将替换应用程序上下文中任何现有的相同类型的 bean。@MockBean 在需要 mock 特定 bean的集成测试中很有用。
用户评论