从Eclipse插件运行JUnit测试并访问结果

时间:2014-05-13 07:33:50

标签: java eclipse junit eclipse-plugin

我正在尝试为Eclipse创建一个插件。 我想要做的是从工作区访问JUnit测试并通过插件运行它。 到目前为止,我已经设法使用ILaunchConfiguration运行它,但我不知道如何收集运行结果。 由于我想多次运行相同的测试,中间有一些小变化,我想知道是否有另一种方法来运行测试并通过插件轻松收集结果?

到目前为止,我已尝试使用:

IProject project = ResourcesPlugin.getWorkspace().getRoot().getProjects()[0];

从工作区获取项目。但是,我遇到了能够将其作为JUnit测试运行的问题。

我设法运行测试的方法是使用

ILaunchConfiguration configuration = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations()[1];

然后通过调用

运行它
configuration.launch(ILaunchManager.RUN_MODE, null);

虽然我从未设法收集结果

1 个答案:

答案 0 :(得分:0)

一种解决方案是注册org.eclipse.jdt.junit.TestRunListener。您可以使用org.eclipse.jdt.junit.testRunListeners扩展点注册自己的TestRunListener类来完成此操作。

您的TestRunListener侦听包含JUnit会话结束的事件,您可以在此处保存对该会话的引用。

class MyTestRunListener extends TestRunListener {

    public void sessionFinished(ITestRunSession session) {

        // Do something with session - save it away to a collection, for example.

    }




}