无法在 randoop 中设置类路径的包名称



这里是在 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感谢您的友好回复。

最新更新