在eclipse中无法运行单个参数化测试方法

时间:2014-11-13 13:51:23

标签: eclipse junit

我正在使用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.");
    }
}

1 个答案:

答案 0 :(得分:4)

Mars(4.5)之前版本中的known limitation of Eclipse's JUnit support。显然也是in IntelliJ。如果您不想使用Mars里程碑或发布版本there is a workaround,如果您愿意使用自己的自定义运行器。