Uri*_*Uri 27 java eclipse junit
我们偶尔会在每次X次运行中出现一次错误.在人们检查内容(它自动为JUnit)之前,我们的开发人员需要通过Eclipse在本地传递JUnit.
是否有一些方便的方法(内置或高质量的插件)使Eclipse运行X次相同的测试并在出现故障时停止?只需单击Run X次的替代方法?
请注意,我正在寻找UI中的内容(例如,右键单击并说"Run X times"而不是"Run").
Mic*_*sch 11
如果for循环有效,那么我同意nos.
如果您需要重复整个setup-test-teardown,那么您可以使用TestSuite:
在文件中,您只需找到
addTestSuite(YourTestClass.class)
Run Code Online (Sandbox Code Playgroud)
line,并将其包装在for循环中.
我很确定你可以使用addTest而不是addTestSuite来让它只从该类运行一个测试,如果你只想重复一个测试方法.
如果你真的想要运行测试类直到失败,你需要自己的跑步者.
@RunWith(RunUntilFailure.class)
public class YourClass {
// ....
}
Run Code Online (Sandbox Code Playgroud)
可以按如下方式实施......
package com.example;
import org.junit.internal.runners.*;
import org.junit.runner.notification.*;
import org.junit.runner.*;
public class RunUntilFailure extends Runner {
private TestClassRunner runner;
public RunUntilFailure(Class<?> klass) throws InitializationError {
this.runner = new TestClassRunner(klass);
}
@Override
public Description getDescription() {
Description description = Description.createSuiteDescription("Run until failure");
description.addChild(runner.getDescription());
return description;
}
@Override
public void run(RunNotifier notifier) {
class L extends RunListener {
boolean fail = false;
public void testFailure(Failure failure) throws Exception { fail = true; }
}
L listener = new L();
notifier.addListener(listener);
while (!listener.fail) runner.run(notifier);
}
}
Run Code Online (Sandbox Code Playgroud)
...发布未经测试的代码,感觉TDD内疚:)
| 归档时间: |
|
| 查看次数: |
15337 次 |
| 最近记录: |