【发布时间】:2015-05-21 21:01:20
【问题描述】:
我正在使用 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.");
}
}
【问题讨论】:
-
它发生在我尝试的任何测试方法上,我怀疑这是一个项目配置问题。 Eclipse Luna 4.4
-
@E-Riz 至于代码,你在找什么?我的测试类是从一个很长的基础测试类扩展而来的,你想要参数化生成器吗?设置?日志记录和测试观察者?有什么用处?
-
可能重复,请检查一下? stackoverflow.com/questions/12798079/…
-
我最初没有注意到您在谈论参数化测试。可能是一个错误,或者只是一个限制,因为参数与正常测试生命周期的交互方式。如果您可以将其简化为一个简单的测试来证明问题,那将有所帮助。
-
@dubes 我不知道问题出在哪里,或者所谓的解决方案正在解决什么问题。