如何加速和提升单元测试覆盖率

简介: 方法体尽量小,一入一出,不要使用变量传递。将private方法可以改成友好型,就可以同包下单独方法进行用例测试。 用static方法,可以使用powermock,如不行,使用spring单例模式来避免static的使用。
  1. 方法体尽量小,一入一出,不要使用变量传递。
    将private方法可以改成友好型,就可以同包下单独方法进行用例测试。
  2. 用static方法,可以使用powermock,如不行,使用spring单例模式来避免static的使用。
  3. 尽量避免使用三目运算符,多IF条件判断,可以使用枚举+工厂类来规避,减少单元测试编写难度。
  4. 尽量不要自己写util方法,使用大基金会(apache、spring)、大厂(google、facebook、twitter、阿里等等)、github星级比较高的提供的util方法,copy Util方法的同时,同时copy他提供的单元测试。
  5. 数据库单元测试使用H2本地数据库Mock来加快速度,数据库中单元测试脚本要命中索引,不要进行一些无谓的性能开销。
    各层之间使用MockITO进行模拟测试。
  6. Spring Controller测试可以使用WebApplicationContext、MockMvc来进行mock。
  7. 文件数据等测试,加快速度可以一次性加入内存跑。
  8. activemq测试可以使用本地vm://localhost:61616来进行测试。
  9. 有些测试比较重要,但又影响速度(高并发,多线程,高计算,高频访问redis,memcached等等),可以考虑自己跑完后,直接@Ignore或者拆分小方法,慢的部分Ignore,毕竟单元测试为了代码质量,而不是为了覆盖率。
目录
相关文章
|
测试技术
IDEA创建单元测试与测试覆盖率统计
IDEA(IntelliJ IDEA)不仅支持快速基于当前类创建单元测试,还支持代码测试覆盖率的统计,以及生成报告和标记测试运行命中的代码。
1706 0
IDEA创建单元测试与测试覆盖率统计
|
7月前
|
Java 测试技术 Maven
Spring Boot 中的测试覆盖率是什么,如何使用
Spring Boot 中的测试覆盖率是什么,如何使用
|
9月前
|
Java 测试技术 Maven
SpringCloud项目编译打包执行单元测试(修复单元测试数量为0)-流水线sonarqube扫描jacoco插件展示覆盖率
SpringCloud项目编译打包执行单元测试(修复单元测试数量为0)-流水线sonarqube扫描jacoco插件展示覆盖率
|
11月前
|
测试技术
保证测试的覆盖率
保证测试的覆盖率
|
存储 小程序 测试技术
聊聊测试覆盖率
聊聊测试覆盖率
|
安全 NoSQL Java
JAVA实战:如何让单元测试覆盖率达到80%甚至以上
单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证。它是软件测试中的一种基本方法,也是软件开发过程中的一个重要步骤。 单元测试的目的是在于确保软件的每个独立模块都被正确地测试,并且没有潜在的缺陷或漏洞。在单元测试中,需要对每个模块进行测试,以确保它们能够按照预期的方式工作,并且没有任何错误或漏洞。
漫谈测试覆盖率
测试覆盖率和需求挂钩,高度依赖研发过程,需要分阶段执行不同粒度,最终结果和线上交付质量成比例;
|
JavaScript 前端开发 测试技术
webpack配置篇(三十四):单元测试和测试覆盖率
webpack配置篇(三十四):单元测试和测试覆盖率
186 0
webpack配置篇(三十四):单元测试和测试覆盖率
|
测试技术 数据库 Python
查看登录性能优化和测试覆盖率的详细解决方案【flask框架】
查看登录性能优化和测试覆盖率的详细解决方案【flask框架】
107 0
查看登录性能优化和测试覆盖率的详细解决方案【flask框架】
|
敏捷开发 Java 测试技术
【测试基础】四、你的测试覆盖率是多少?
【测试基础】四、你的测试覆盖率是多少?
【测试基础】四、你的测试覆盖率是多少?