美文网首页
mokito 快速补充Java单元测试的技巧

mokito 快速补充Java单元测试的技巧

作者: 饱饱想要的灵感 | 来源:发表于2023-03-05 18:08 被阅读0次

1. 安装idea插件squaretest

插件安装完成后, Alt + Ins 快捷键可生成测试代码类

squaretest插件使用.png

2. 多分支覆盖

欲覆盖多分支可使用.thenReturn().thenReturn()...模式, 第n个thenReturn()就对应着第n次执行的返回值
另外, 如果写了3个thenReturn(), 而实际执行了5次, 那么第3/4/5次都会返回第3个thenReturn()的值,我们可依此特性简写, 后面相同的返回无须重复

注意: 谨慎确认变量是否正确设值, 因为变量都是拷贝的, 很容易写错, 特别是thenReturn()多的时候;
例如:

User user = new User();
user.setCareer("学生");
User user1 = new User();
user1.setCareer("老师");
User user2 = new User();
user2.setCareer("教授");
User user3 = new User();
user2.setCareer("院士");
User user4 = new User();
user4.setCareer("工程师");
User user5 = new User();
user5.setCareer("农民工");

如果不仔细, 很容易看漏user2重复设值了, 导致"教授"分支未覆盖

3. 接口参数快速适配

接口参数类型是多种多样的, 为快速适配, 我们应尽可能多地使用any*()
注意点:

  1. 如果实际传入null值, 须用any()来适配, 不然无法返回预设结果
  2. 如果参数类型是Collection, 那么anyList()anySet()是不行的, 这样不会返回预设的结果集, 须使用anyCollection()
  3. 如果一个方法内的某个参数是any*(), 那么其它参数也必须是any*(); 例如findByNameAndAge("baobao", anyInt())是会报错的

4. 公共参数和公共返回值

  • 公共参数可设为类变量,然后在@Before方法中初始化, 记得在测试方法下注释变量构成代码
  • 公共返回值除了执行"查找->替换"操作之外, 也可以写在@Before方法中, 然后在测试方法下注释mock代码

相关文章

  • 学习计划

    单元测试框架junit jmockitpowermock mokito robolectric gradle学...

  • 补习系列-springboot 单元测试之道

    目标 了解 单元测试的背景 了解如何 利用 springboot 实现接口的测试 了解如何 利用 mokito 做...

  • 单元测试-JUnit

    java单元测试是最小的功能单元测试代码, 单元测试就是针对单个java方法的测试。相比较于main方法进行测试,...

  • Okio库

    概念 Koio: 是一个支持okhttp底层的库 补充了Java.io和java.nio的不足,更加方便、快速的访...

  • Mockito使用介绍

    Mockito是用于写Java的单元测试框架,在单元测试中使用Mockito来创建和模拟(Mock)假的Java对...

  • 单元测试-mockito+powermock

    单元测试--Java 使用mockito+powermock进行java单元测试 实例 如下一个正常业务代码,接下...

  • Android单元测试 - 如何开始?

    回顾: 《谈谈为什么写单元测试》 基本单元测试框架 Java单元测试框架:Junit、Mockito、Powerm...

  • Android单元测试

    本文主要内容 1、单元测试介绍 2、java单元测试 3、android单元测试 4、常用方法介绍 1、单元测试介...

  • 5.自动化测试工具

    单元测试工具 JUnit:Java单元测试 NUnit CppUnit:C++单元测试 性能测试工具 LoadRu...

  • 快速高效学习Java编程在线资源Top 20

    想要加强你的编程能力吗?想要提升你的 Java 编程技巧和效率吗? 不用担心。本文将会提供快速高效学习 Java ...

网友评论

      本文标题:mokito 快速补充Java单元测试的技巧

      本文链接:https://www.haomeiwen.com/subject/rxcpldtx.html