单元测试 mockito(二)

1.返回指定值

2.void返回值指定插桩

3.插桩的两种方式


when(obj.someMethod()).thenXxx():其中obj可以是mock对象
doXxx().wien(obj).someMethod():其中obj可以是mock/spy对象

spy对象在没有插桩时是调用真实方法的,写在when中会导致先执行一次原方法,达不到mock的目的,
需使用doXxx().when(obj).someMethod()

4.抛异常

5.多次插桩

6.实现指定插桩逻辑

7.执行真正的原始方法

8.verify的使用


9@lnjectMocks注解的使用


●作用:若@InjectMocks声明的变量需要用到mock/spy对象,mockito会自动使用当前类里的mock或spy成员进行按类型或名字的注入
●原理:构造器注入、setter注入、字段反射注入


10. 断言工具


hamcrest:junit4中引入的第三方断言库junit5中被移出,从1.3版本后,坐标由org.hamcrest:hamcrest-core变为org.hamcrest:hamcrest
assertJ:常用的断言库
junit4原生断言
junit5原生断言

实例代码测试

要测试的方法

单元测试用例

springboot环境下配置


生成的对象受spring管理
@MockBean
●类似@Mock
●用于通过类型或名字替换spring容器中已经存在的bean,从而达到对这些bean进行mock的目的
@SpyBean
●作用类似@Spy
●用于通过类型或名字包装spring容器中已经存在的bean,当需要mock被测试类的某些方法时可以使用

相关推荐

  1. JUNIT5+Mockito单元测试

    2024-04-05 07:44:02       39 阅读
  2. Mockito Mybatis-plus 单元测试

    2024-04-05 07:44:02       34 阅读
  3. JUnit 5和Mockito单元测试

    2024-04-05 07:44:02       60 阅读
  4. 单元测试单元测试Mockito的使用

    2024-04-05 07:44:02       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-05 07:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-05 07:44:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-05 07:44:02       82 阅读
  4. Python语言-面向对象

    2024-04-05 07:44:02       91 阅读

热门阅读

  1. 什么是stable diffusion?

    2024-04-05 07:44:02       37 阅读
  2. 初识CSS

    初识CSS

    2024-04-05 07:44:02      27 阅读
  3. 设计模式-抽象工厂模式

    2024-04-05 07:44:02       39 阅读
  4. 设计模式:工厂模式和抽象工厂模式的区别

    2024-04-05 07:44:02       33 阅读
  5. 蓝桥杯备考随手记: practise05

    2024-04-05 07:44:02       36 阅读
  6. .NET 设计模式—原型模式(Prototype Pattern)

    2024-04-05 07:44:02       35 阅读
  7. 宝塔面板永久会员7.7版本不更新版本

    2024-04-05 07:44:02       36 阅读
  8. .NET 设计模式—简单工厂(Simple Factory Pattern)

    2024-04-05 07:44:02       38 阅读
  9. Vue3 Ajax(axios)

    2024-04-05 07:44:02       37 阅读
  10. 算法之图算法

    2024-04-05 07:44:02       33 阅读
  11. Shell脚本教程

    2024-04-05 07:44:02       33 阅读