我希望从命令行运行单个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
我希望运行测试方法的所有变体(当然在实际代码中,这个类中有多个测试,我希望只从该类执行一个测试)
任何人都可以提供解决方案吗?