这里是在 Ubuntu 上成功编译后从 github 克隆的项目结构,
爪哇 .bin net/sf/javaml/core/Dataset.class 爪哇 来源 net/sf/javaml/core/Dataset.java
当以下命令给出时:
java -ea -classpath/home/shahid/git/javaml/bin:/home/shahid/a_f_w/randoop-3.1.5/randoop-all-3.1.5.jar randoop.main.Main gentests --testclass=
net.sf.javaml.core.Dataset --literals-file=CLASSES它生成了错误:"忽略通过 --classlist 或 --testclass 指定的接口 net.sf.javaml.core.Dataset。 没有要测试的课程 ".
而另一个命令java -ea -classpath/home/shahid/git/java-ml/bin:/home/shahid/a_f_w/randoop-3.1.5/randoop-all-3.1.5
.jar randoop.main.main gentests --testclass=DataSet --literals-file=CLASSES没有包,其他项目可以完美运行。 任何帮助都将得到赞赏。
错误消息为您提供答案:
忽略通过 --classlist 或 --testclass 指定的接口 net.sf.javaml.core.Dataset。没有要测试的课程
您应该为--testclass
命令行参数提供一个类,而不是一个接口。
通过将--testclass=net.sf.javaml.core.Dataset
传递给 Randoop,您表明您只希望 Randoop 创建类型为net.sf.javaml.core.Dataset
的对象。 但是,由于这是一个接口,因此无法实例化,并且Randoop无法创建任何对象,也无法创建任何测试。
以下命令对我有用:
java -ea -classpath ~/javaml/bin/:~/Randoop/randoop-all-3.1.4.jar randoop.main.Main gentests --testclass=net.sf.javaml.core.Complex --literals-file=CLASSES
@mernst感谢您的友好回复。