从命令行运行单个JUnit测试 - 参数化测试

时间:2015-07-26 13:23:02

标签: java unit-testing command-line junit

我希望从命令行运行单个JUnit测试。 我尝试过在Run single test from a JUnit class using command-line

中建议的解决方案

它似乎适用于常规测试,但似乎在运行参数化测试时失败。

这是我的测试:

@RunWith(Parameterized.class)
public class ParameterizedTests {
    private final int param;

    public ParameterizedTests(int param) {
        this.param = param;
    }

    @Parameters
    public static Collection<Object[]> generateData() {     
        List<Object[]> data = new ArrayList<Object[]>();

        data.add(new Object[]{1});
        data.add(new Object[]{5});
        data.add(new Object[]{20});

        return data;
    }

    @Test
    public void test() {
        fail("Not yet implemented:" + param);
    }
}

在提供的测试上运行建议的解决方案会出现以下错误:

有1次失败: 1)initializationError(org.junit.runner.manipulation.Filter) java.lang.Exception:没有找到与org.junit.internal.requests.ClassRequest @中的方法测试(aaa.ParameterizedTests)匹配的测试 61145cc         at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35)         在org.junit.runner.JUnitCore.run(JUnitCore.java:138)         at aaa.singletestrunner.SingleTestRunner.main(SingleTestRunner.java:17)

FAILURES !!! 测试运行:1,失败:1

我希望运行测试方法的所有变体(当然在实际代码中,这个类中有多个测试,我希望只从该类执行一个测试)

任何人都可以提供解决方案吗?

0 个答案:

没有答案