如何访问当前的JUnitCore以添加侦听器?

6 ant junit task

我有一些测试基础结构类,我想添加为JUnitCore的监听器,特别是testRunFinished.我正在从ant的任务中调用Junit 4.

有没有办法让我访问由任务创建的JUnitCore,以便我可以添加一个监听器?

aku*_*uhn 2

不是来自 ant 的 junit 任务。

您最好编写一个“手动”运行测试套件的主方法。

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);
    }

}
Run Code Online (Sandbox Code Playgroud)