我可以从intellij插件启动junit测试吗

mun*_*unk 5 junit intellij-idea intellij-plugin

我有一个存储测试结果的数据库。我对为intellij13编写插件感兴趣,该插件可让我使用JUnit运行配置从数据库重新运行测试失败。我找不到与此有关的任何文档。

我想看一些方法的例子:

public void runTest(String testClass, String testName) {...}

kuk*_*ido 5

我研究了IntelliJ 13.x,并能够创建JUnit运行时配置。您需要执行以下操作。

在您META-INF/plugin.xml对JUnit插件的添加依赖关系中,否则必需的JUnit插件类将在您的插件类加载器中不可用。

<depends optional="false">JUnit</depends>
Run Code Online (Sandbox Code Playgroud)

这是创建JUnit运行时配置的示例代码。尽管它可以工作,但这只是一个存根,您将不得不填充所有属性。

import com.intellij.execution.RunManager;
import com.intellij.execution.impl.RunManagerImpl;
import com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl;
import com.intellij.execution.junit.JUnitConfigurationType;
import com.intellij.openapi.project.Project;
...
RunManagerImpl runManager = (RunManagerImpl) RunManager.getInstance(project);
JUnitConfigurationType type = JUnitConfigurationType.getInstance();
RunnerAndConfigurationSettingsImpl runnerAndConfigurationSettings = (RunnerAndConfigurationSettingsImpl)runManager.createRunConfiguration("junit test run", type.getConfigurationFactories()[0]);
runManager.addConfiguration(runnerAndConfigurationSettings, false);
Run Code Online (Sandbox Code Playgroud)

接下来,JUnit运行配置。

在此处输入图片说明