我正在使用gradle来运行JUnit测试.问题是我需要将参数从命令行传递给测试.我尝试传递系统属性但失败了.
gradle test -Darg1=something
Run Code Online (Sandbox Code Playgroud)
这是我的测试:
public class MyTest {
@Test
public void someTest() throws Exception {
assertEquals(System.getProperty("arg1"), "something");
}
}
Run Code Online (Sandbox Code Playgroud)
它失败了,因为没有arg1争论.有可能以某种方式传递命令行参数吗?
我使用此方法来设置参数化数据:
@Parameterized.Parameters
public static Collection<Object[]> getStories() {
Collection<Object[]> allStories = new ArrayList<Object[]>()
new File(SPEC_DIRECTORY).eachFileRecurse(FileType.FILES) { file ->
if (file.getName().endsWith('.story')) {
Object[] args = [file.getName(), file]
allStories << args
}
}
return allStories
}
Run Code Online (Sandbox Code Playgroud)
我用gradle via调用主测试gradle test,但我似乎无法看到系统属性.
如果我使用调用gradle -Dfile=test.story,那么System.getProperty('file')是未定义的.如何将参数传递给此参数化数据构建器?