JUnitCore의 리스너로 testRunFinished에 추가하려는 테스트 인프라 클래스가 있습니다. 저는 Ant의 작업에서 Junit 4를 호출합니다.현재 JUnitCore에 액세스하여 리스너를 추가하는 방법은 무엇입니까?
리스너를 추가 할 수 있도록 작업에서 생성 한 JUnitCore에 액세스 할 수있는 방법이 있습니까?
JUnitCore의 리스너로 testRunFinished에 추가하려는 테스트 인프라 클래스가 있습니다. 저는 Ant의 작업에서 Junit 4를 호출합니다.현재 JUnitCore에 액세스하여 리스너를 추가하는 방법은 무엇입니까?
리스너를 추가 할 수 있도록 작업에서 생성 한 JUnitCore에 액세스 할 수있는 방법이 있습니까?
개미의 junit 작업에서 가져온 것이 아닙니다.
"수동으로"테스트 스위트를 실행하는 메인 메소드를 작성하는 것이 가장 좋습니다. 당신이 당신의 자신의 러너를주고, run(RunNotifier notifier)
를 오버라이드 (override) :
package test;
import org.junit.runner.Request;
import org.junit.runner.Result;
import org.junit.runner.Runner;
import org.junit.runner.notification.RunListener;
import org.junit.runner.notification.RunNotifier;
public class RollYourOwnTestRun {
public static void main(String[] args) {
Runner runner = Request.classes(StackTest.class).getRunner();
RunNotifier notifier = new RunNotifier();
Result result= new Result();
RunListener listener= result.createListener();
notifier.addListener(listener);
notifier.addListener(...); // add your listener
notifier.fireTestRunStarted(runner.getDescription());
runner.run(fNotifier);
notifier.fireTestRunFinished(result);
}
}
@RunWith 주석 (약간의 API 베스트 프랙티스 위반에) 도움이 될 수. RunNotifier를 통해 현재는 내부 전용으로 표시된 add * Listener-API를 사용할 수 있습니다. 행운을 빕니다!
이 조금 늦게,하지만 당신은 (org.apache.ant:ant-junit
에서) 개미의 JUnitResultFormatter
로 RunListener
포장하려고 수 있습니다
import static org.apache.tools.ant.taskdefs.optional.junit.JUnitVersionHelper.getTestCaseClassName;
import static org.apache.tools.ant.taskdefs.optional.junit.JUnitVersionHelper.getTestCaseName;
import static org.junit.runner.Description.createTestDescription;
public class MyJunitFormatter implements JUnitResultFormatter {
private final MyListener delegate = new MyListener();
@Override
@SneakyThrows(Exception.class)
public void endTest(Test test) {
delegate.testFinished(
createTestDescription(
getTestCaseClassName(test),
getTestCaseName(test)));
}
// ....
는 https://mail-archives.apache.org/mod_mbox/ant-user/201009.mbox/%[email protected]cehub.com%3E
를 참조하십시오