首先,去github上下载randoop.jar包到本地目录上。
此处我选择的是randoop-all-4.1.0.jar,将其安装到了
这个目录是任意的
然后去配置系统环境变量
在Path里面添加randoop-all-4.1.0.jar的路径C:\worktools\randoop-4.1.0\randoop-all-4.1.0.jar
然后再添加两个系统变量
在这里,我踩了一个坑
那就是randoop官方文档中所说的
当有多个java版本的时候,环境变量Path里面,要将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;放到最前面
(反正只要在C:\Program Files (x86)\Common Files\Oracle\Java\javapath;前面就行了)
这里randoop官网有说的(ctrl+f搜索compile,最后一个左右)
要不然就会报找不到java编译器的错误
Cannot find the Java compiler. Check that classpath includes tools.jar
当然,也有可能是要把jdk文件夹中lib目录下的tools.jar包放到jdk文件夹中jre的lib目录下
都试一下嘛。
这个坑,坑了我挺长时间的,在此感谢某刘姓大佬上课时对我的指导
大概这样就能安装好了。
然后随便写一个类
我这里写的是一个三角形的测试类
/**
* @author codersan
* @date 2018/12/10 12:50
* @introduction
*/
public class test1 {
double a = 0;
double b = 0;
double c = 0;
public test1() {
}
public test1(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public String dengyao(){
if(a<=0||b<=0||c<=0) return "side can no be 0";
if(a+b<=c||a+c<=b||b+c<=a) return "is not triangle";
if(a==b ||a==c||b==c){
if(a!=b||a!=c||b!=c)return "dengyao triangle";
return "dengbian triangle";
}
return "putong triangle";
}
}
当然,你自己随便写一个也行
然后将这个.java文件编译成.class文件
将这个文件和randoop.jar包放到同一个目录下,其他也行,只不过这样方便
然后打开cmd,跳转到该目录下
运行下面 的命令
java -ea -classpath .;%RANDOOP_JAR% randoop.main.Main gentests --testclass=test1 --time-limit=60
这里要注意的一点是,以前版本的timelimit版本中间是没有-的,由timelimie换成了time-limit,这也是一个坑
运行大概的结果
然后会在相应的目录下生成
到此使用randoop的大致流程就结束了
如果由更多的坑,希望大家在解决的同时也能及时把自己的方法写到博客上来
毕竟很多人像我一样都不喜欢去国外找