最近在写单元测试,感觉写Mock写烦了,于是想看看有没有现成的spring项目的单元测试生成工具。

网上找到了一个Java单元测试回答的集合:Automatic generation of unit tests for Java? - Stack Overflow

Squaretest

官网:Squaretest - Java Unit Test Generator for IntelliJ IDEA

安装方法是从IDEA插件仓库中安装Squaretest

使用方法:SquaretestLLC/Squaretest: the Squaretest plugin for IntelliJ IDEA

在使用了一次后,感觉真的好用,尤其是在编写test文件时自动生成测试函数,非常好用。

spring service示例代码:

import java.util.List;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;@Service
public class springServiceImpl {@Datastatic public class Person {private String name;private Integer age;}public boolean judge(List<Person> persons) {for (Person person : persons) {if (StringUtils.isBlank(person.getName()) || person.getAge() == null) {return false;}}return true;}
}

然后在测试类中打public就会有自动补全函数如下:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = DemoApplication.class)
@ActiveProfiles("test")
public class springServiceImplTest {@Autowiredprivate springServiceImpl springService;@Testpublic void testJudge() {// Setupfinal springServiceImpl.Person person = new springServiceImpl.Person();person.setName("name");person.setAge(0);final List<springServiceImpl.Person> persons = List.of(person);// Run the testfinal boolean result = springService.judge(persons);// Verify the resultsassertTrue(result);}
}

真心好用,尤其是自动配置了set和get,不需要手动配,省了很多时间。

其他

Java的unit test Generator还有很多,但大部分都很久不更新了:

Randoop: Automatic unit test generation for Java:最后更新时间:2020-07-28,是少数还在更新的单元测试生成器,但使用起来不方便,我就没试了。

JUnitGenerator V2.0 - plugin for IntelliJ IDEA and Android Studio | JetBrains: 最后更新时间:2015-05-06

CodePro Analytix/CodePlex AnalytiX 自从2011年被谷歌收购后就没有更新了。

JUnit-Tools:只支持Eclipse,最后更新时间:2018-11-09

EvoSuite | Automatic Test Suite Generation for Java:最后更新时间:2018-04-06

IDEA-Java自动生成单元测试相关推荐

  1. 一款自动生成单元测试的 IDEA 插件

    Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记! 今天来介绍一款工具Squaretest,它是一款自动生成单元测试的插件,为什么会用到它? 主要因为最近公司上了代码质量管控的指标,会 ...

  2. java自动生成类_自动生成优化的Java类专业知识

    java自动生成类 如果您今年访问过JavaOne,您可能已经参加了我的演讲"如何从数据库生成定制的Java 8代码". 在那次演讲中,我展示了如何使用Speedment Open ...

  3. java自动生成合同_Java 7和Java 8之间的细微自动关闭合同更改

    java自动生成合同 Java 7的try-with-resources语句和与该语句一起使用的AutoCloseable类型的一个不错的功能是,静态代码分析工具可以检测到资源泄漏. 例如,Eclip ...

  4. java自动生成接口文档

    java自动生成接口文档 maven依赖 工具类 展示效果 首页 接口页 在平时的开发过程中必定要写接口文档 作为程序员 最烦的2件事 1.别人让你写接口文档 2.接手别人的项目没有接口文档 由此可见 ...

  5. Java自动生成PDF并进行邮件群发

    这段时间,公司承办一个互联网峰会,需要对4000多位客户发送邀请函,其中包括一个pdf文件和一封手写信,PDF中将从公司数据库中读取所有客户姓名,自动生成到相应位置,前期尝试Java自动生成pdf文件 ...

  6. Java自动生成二维码总结

    推荐一篇博客:Java自动生成带log的二维码 https://mp.csdn.net/postedit/84454677 第一种简单的方法: import java.io.File; import ...

  7. 懒人神器:自动生成单元测试插件 Squaretest

    你是否常常因代码需编写单元测试而痛苦不堪,你是否因单元测试历史债而惆怅不断,Squaretest或许能帮你消除痛苦消除惆怅 前言 一.Squaretest是什么? 二.使用步骤 1.引入插件 2.使用 ...

  8. java自动生成sql语句

    java自动生成sql语句 艳学网强势来袭http://47.98.237.162/index,首次发布艳辉工具,第一个工具我们发布sql语句自动生成. 以前首次接触sql是在大学期间,刚开始是手写s ...

  9. 告别加班/解放双手提高单测覆盖率之Java 自动生成单测代码神器推荐

    一.背景 很多公司对分支单测覆盖率会有一定的要求,比如 单测覆盖率要达到 60% 或者 80%才可以发布. 有时候工期相对紧张,就优先开发功能,测试功能,然后再去补单元测试. 但是编写单元测试又比较浪 ...

最新文章

  1. Mac下pycharm如何安装pytorch
  2. 神经网络+过拟合+避免
  3. tf.keras.layers.Conv1D 一维卷积 示例
  4. SVN账号重新指定方法
  5. bupt summer training for 16 #2 ——计算几何
  6. JetBrain常用快捷键+省略输入方式
  7. 使用PHP管理SQL
  8. 【Flink】Flink 写入 kafka 报错 Failed to send data to Kafka: Expiring 4 record(s) for 20001 ms has passed
  9. 阿里官宣AI框架大牛贾扬清加盟,任职技术VP
  10. (转)使用C#开发ActiveX控件
  11. PLC指令系统的介绍
  12. shiro简单配置教程
  13. Javac选项source和target的作用
  14. confusion matix
  15. google浏览器安装视频插件的方法
  16. 在美团投放广告的优势、展现形式介绍!
  17. 国际化翻译navigator.language与语种对照表
  18. 最新版的转转验机源码+完整教程
  19. java mail 20m附件_Gmail的最大附件调整到20M了
  20. android8 三星a9,三星GalaxyA9评测 已经远远超出中端手机的水平

热门文章

  1. RDKit | 定量评估类药性(QED)
  2. 第四课.Python函数(一)
  3. 利用WampServer挂载MySQL数据库
  4. QIIME 2教程. 15样品分类和回归q2-sample-classifier(2021.2)
  5. MPB:生态环境中心张丽梅组-​植物微生物组DNA提取扩增及溯源分析(视频)
  6. 今晚中科院刘永鑫报告:宏基因组数据分析的机遇与挑战
  7. Science:又一明星菌群可以调控肠道免疫?
  8. PNAS-皮肤微生物群综合分析揭示人类皮肤的独特性并为其在哺乳动物的系统发育共生现象提供证据
  9. R语言笔记7:认识循环函数、lapply和sapply
  10. 8核32g mysql性能_MySQL性能优化之参数配置