我正在使用Junit-4在Eclipse Luna中运行一些参数化测试。我可以通过右键单击并选择“run as - > JUnit Test”来运行单个类,但如果我展开类并对单个方法执行相同的操作(仅运行一个测试),则会出现初始化错误在“无根测试”中。但是,如果我运行整个类的方法,然后右键单击结果窗格中的单个测试并单击“运行”,它运行就可以了。
如何设置JUnit以便我可以运行单个测试方法而无需先运行整个类?我应该关注哪些配置选项?这是一个maven项目,但我不确定这很重要。单步执行,我可以看到问题出现在JUnit尝试运行测试后,成功生成参数后,但是我在那时看不到源代码,所以我的信息非常有限。没有显示错误/异常详细信息:(
我很确定这是一个配置问题,因为我设法通过以下测试用例重现了这个问题:
@RunWith(Parameterized.class)
public class JUnitTesting {
/**
* Generates list of environments to use for the test.
* @return The list of environments to pass to the constructor.
*/
@Parameters
public static synchronized Collection<String[]> environmentsToUse() {
LinkedList<String[]> environments = new LinkedList<String[]>();
environments.add(new String[]{"WINDOWS", "firefox", null});
environments.add(new String[]{"WINDOWS", "chrome", null});
return environments;
}
public JUnitTesting(String os, String browser, String version) {
}
@Test
public void sampleTest() {
System.out.println("Test run.");
}
}
答案 0 :(得分:4)
Mars(4.5)之前版本中的known limitation of Eclipse's JUnit support。显然也是in IntelliJ。如果您不想使用Mars里程碑或发布版本there is a workaround,如果您愿意使用自己的自定义运行器。