Ale*_*ndr 8 java junit arguments junit4 gradle
我正在使用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争论.有可能以某种方式传递命令行参数吗?
Ada*_*ker 13
运行时gradle test -Darg1=smth,将系统参数传递arg1给gradle jvm,而不是测试运行测试的jvm.它以这种方式设计,以保护测试免受副作用.
如果您需要将param用于测试,请使用这样的smth
test {
systemProperty 'arg1', System.getProperty('arg1')
}
Run Code Online (Sandbox Code Playgroud)
并以同样的方式运行它
nin*_*nnk 11
使用-D发送参数.如下所示:
./gradlew test -Dgrails.env=dev -D<yourVarName>=<yourValue>
Run Code Online (Sandbox Code Playgroud)
请参阅-D 的gradle命令行文档.
要在测试中访问它,您需要在build.gradle文件中传播它.
test {
systemProperty "propertyName", "propertyValue"
}
Run Code Online (Sandbox Code Playgroud)
您也可以像这样传递所有系统属性:
test {
systemProperties(System.getProperties())
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12067 次 |
| 最近记录: |