gpt4 book ai didi

java - Junit4 测试套件 - 从测试套件动态循环和添加测试用例

转载 作者:行者123 更新时间:2023-11-29 09:04:40 24 4
gpt4 key购买 nike

我有一个包含许多模型的 XML 文件。我在测试套件中解析这个 XML 文件并读取每个模型。对于每个模型,我想执行特定的测试用例列表。

这意味着,在测试套件的 FOR 循环内,我必须动态添加测试用例。


public static TestSuite suite() {
TestSuite suite = new TestSuite();
for(condtion){
if(model1){
suite.addTest(new JUnit4TestAdapter(TestCase1.class));
suite.addTest(new JUnit4TestAdapter(TestCase2.class));
}
elseif(model2){
suite.addTest(new JUnit4TestAdapter(TestCase3.class));
suite.addTest(new JUnit4TestAdapter(TestCase4.class));
}
}
return suite;
}

但在这种情况下,只运行 XML 中最后一个模型的测试用例。它不是动态添加测试用例并为所有模型运​​行它。

然后我尝试了

JUnitCore.runClasses(TestScoopixModelLoader.class);

在 for 循环中。在这种情况下,测试用例是动态运行的。但是我在 eclipse 中没有得到那种视觉效果。(即成功的绿色条,失败的红色条)。此视觉效果不适用于 Junit TEST RUNNER CLASS

如果有人遇到过此类问题,请给我一个解决方案。

最佳答案

添加您自己的监听器并让它打印结果(在文本文件、系统输出等中)

JUnitCore jCore = new JUnitCore();
jCore.addListener(new CustomListener())
JUnitCore.runClasses(TestScoopixModelLoader.class);


public class CustomListener extends RunListener {
public void testFailure(Failure failure) {
System.out.println(failure);
}

// Rest of the listener methods

}

监听器接口(interface): http://junit.sourceforge.net/javadoc/org/junit/runner/notification/RunListener.html

关于java - Junit4 测试套件 - 从测试套件动态循环和添加测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15678236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com