我希望由Randoop4.2生成的回归测试被命名为(RandoopTest.java),所以我设置了命令行标志--regression-test-basename=RandoopTest。当我运行Randoop时,我的回归测试都以RandoopTest.java结尾(注意0)。例如,当我运行以下命令时,
java -classpath C:\sandbox\TestJavaProject\bin;%RANDOOP_JAR%
randoop.main.Main gentests
--testclass=org.jaffa.datatypes.Currency
--junit-package-name=org.jaffa.datatypes
--junit-output-dir=C:\sandbox\TestJavaProject\src\test\java
--regression-test-basename=CurrencyRandoopTest
--time-limit=10
--junit-reflection-allowed=false
--flaky-test-behavior=DISCARD生成两个文件,如控制台输出所示:
Writing regression JUnit tests...
Created file C:\sandbox\TestJavaProject\src\test\java\org\jaffa\datatypes\CurrencyRandoopTest0.java
Created file C:\sandbox\TestJavaProject\src\test\java\org\jaffa\datatypes\CurrencyRandoopTestDriver.java
Wrote regression JUnit tests.有什么简单的方法可以消除0吗?我很好奇它为什么会在那里。除了在类名中添加0之外,我从来没有注意到任何其他数字。目前,我们的maven脚本被设计为运行以"Test“结尾的JUit测试,所以0是个麻烦。(我知道我可以修改脚本,以便自动运行以"Test0“结尾的Test0测试,但如果不必这样做会更好。)
发布于 2019-09-05 14:03:37
Randoop在名为、...Test1.java等的文件中输出测试。默认情况下,每个编号文件中只有500。Randoop通常会创建许多测试,并且将它们都放入一个文件中将违反Java对文件大小的限制。
Randoop在一个名为的名为...Test.java的文件中输出一个测试套件,它运行所有的测试,文件名的末尾没有编号。
示例在Randoop手册的开头显示了这些文件以及如何使用它们。
如果您从未见过Randoop输出超过500个测试,那么您可能需要将调整 命令行参数转换为Randoop,以便向它提供更多的信息,以便它能够更有效地生成测试。
示例
作为文件的一个具体示例,请参见目录build/working-directories/naive-collections-test/java/foo/bar/。在运行了Randoop自己的测试套件之后,它就会存在。
它包含以下文件:
NaiveRegression.java
NaiveRegression0.java
NaiveRegression1.java
NaiveRegression2.java其中NaiveRegression.java的内容是:
@RunWith(Suite.class)
@Suite.SuiteClasses({ NaiveRegression0.class, NaiveRegression1.class, NaiveRegression2.class })
public class NaiveRegression {
}https://stackoverflow.com/questions/57793534
复制相似问题