0

我正在尝试使用 Randoop 生成 Java 单元测试用例。假设我有一个名为 ABC 的类。在 ABC 类中,我将 的Logger类实例log4j化为一个字段,并且该字段正在被一个方法访问。我已经在 中列出了 ABC 类myClasses.txt。现在在运行gentests命令时,我正在获取noClassDefFound errorLogger 实例。如果我们遗漏了什么,请帮忙?

4

2 回答 2

0

您还必须将 Logger 类放在 myClasses.txt 中。还在 java -Dlog4j.configuration=file:... 中提供 log4j 属性文件

于 2019-05-07T17:02:56.287 回答
0

运行 Randoop 的命令行包含一个类路径参数。提供给 Randoop 的类路径中是否包含 log4j jar 文件?您的命令行应类似于:

java -classpath %RANDOOP_JAR%;%ABC_HOME%;%LOG4J_JAR% randoop.main.Main gentests --testclass=ABC

where%ABC_HOME%是一个环境变量,指示您的ABC类所在%LOG4J_JAR%的位置,并引用您的 log4j jar 文件的位置。(这是 Windows 表示法。Linux 路径使用“:”分隔符而不是“;”分隔符。)当然您不需要使用环境变量。您可以插入适当的路径。

于 2019-09-18T13:18:08.627 回答