EvoSuite 介绍
EvoSuite 能够为 java 代码自动生成单元测试用例EvoSuite 生成的单元测试用例符合 JUnit4 标准,可直接在 JUnit 中运行EvoSuite 采用 LGPL 开源协议EvoSuite 官方提供了多种使用方式,包括 命令行Maven 插件IntelliJ Idea 插件Eclipse 插件 EvoSuite GitHub :/EvoSuite/evosuiteEvoSuite 官方网站 :EvoSuite 命令行方式
EvoSuite 是一个可执行的 jar 文件,调用方式java -jar evosuite.jar <options>
EvoSuite 生成测试套件代码过程 我们新建一个 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;}}
javac 编译 Student.java 生成 Student.classjava -jar evosuite -projectCP=./ -class Student 生成测试套件生成成功后,会在同级目录下产生 evosuite-tests 目录,在该目录下可以查看生成的单元测试用例代码 EvoSuite 参数列表查看
我们可以键入 java -jar evosuite.jar -listParameters 查看能够设置的参数信息
* EvoSuite 1.1.0Name Type Default DescriptionCPString The classpath of the target classesCP_file_pathString 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 parametersOUTPUT_DIR Stringevosuite-files Directory in which to put generated filesPROJECT_DIR String Directory name of target packagePROJECT_PREFIX String Package name of target packageTARGET_CLASSString Class under testTARGET_CLASS_PREFIX String ............
其它命令行方式可以参考说明文档 /documentation/commandline/
EvoSuite Maven 使用方式
参考说明文档: /documentation/maven-plugin/