Java 测试 - 单元测试用例自动生成框架 EvoSuite

EvoSuite 介绍

  • EvoSuite 能够为 java 代码自动生成单元测试用例
  • EvoSuite 生成的单元测试用例符合 JUnit4 标准,可直接在 JUnit 中运行
  • EvoSuite 采用 LGPL 开源协议
  • EvoSuite 官方提供了多种使用方式,包括
    1. 命令行
    2. Maven 插件
    3. IntelliJ Idea 插件
    4. Eclipse 插件
  • EvoSuite GitHub :https://github.com/EvoSuite/evosuite
  • EvoSuite 官方网站 :https://www.evosuite.org

EvoSuite 命令行方式

  • EvoSuite 是一个可执行的 jar 文件,调用方式
java -jar evosuite.jar <options>
  • EvoSuite 生成测试套件代码过程
  1. 我们新建一个 java 文件,Student.java
public class Student {
	private String name;
	private String grade;
	
	public Student(String name, String grade) {
		this.name = name;
		this.grade = grade;
	}
	
	public String getName() {
		return name;
	}

	public String getGrade() {
		return grade;
	}
}
  1. javac 编译 Student.java 生成 Student.class
  2. java -jar evosuite -projectCP=./ -class Student 生成测试套件
  3. 生成成功后,会在同级目录下产生 evosuite-tests 目录,在该目录下可以查看生成的单元测试用例代码
  • EvoSuite 参数列表查看
    我们可以键入 java -jar evosuite.jar -listParameters 查看能够设置的参数信息
* EvoSuite 1.1.0
Name                                            Type                                Default                                                                                    Description
CP                                              String                                                                                                                         The classpath of the target classes
CP_file_path                                    String                                                                                                                         Location of file where classpath is specified (in its first line). This is needed for operating systems like Windows where cannot have too long input parameters
OUTPUT_DIR                                      String                              evosuite-files                                                                             Directory in which to put generated files
PROJECT_DIR                                     String                                                                                                                         Directory name of target package
PROJECT_PREFIX                                  String                                                                                                                         Package name of target package
TARGET_CLASS                                    String                                                                                                                         Class under test
TARGET_CLASS_PREFIX                             String                                                                                                                         

......
......

其它命令行方式可以参考说明文档 https://www.evosuite.org/documentation/commandline/

  • EvoSuite Maven 使用方式

参考说明文档: https://www.evosuite.org/documentation/maven-plugin/

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值