我正在使用gradle运行JUnit测试。问题是我需要将参数从命令行传递给测试。我试图传递系统属性,但失败了。
gradle test -Darg1=something
以下是我的测试:
public class MyTest {
@Test
public void someTest() throws Exception {
assertEquals(System.getProperty("arg1"), "something");
}
}
它失败是因为没有arg1
参数。是否可以以某种方式传递命令行参数?
当运行gradle test-Darg1=smth时,将系统参数arg1
传递给gradle JVM,而不是运行测试的测试JVM。它的设计是为了保护测试不受副作用的影响。
如果您需要将参数传播到测试,请使用以下内容
test {
systemProperty 'arg1', System.getProperty('arg1')
}
并以同样的方式运行。
使用-D发送参数。就像这样:
./gradlew test -Dgrails.env=dev -D<yourVarName>=<yourValue>
请参见gradle命令行留档-D。
要在测试中访问它,需要在构建中传播它。格雷德尔档案。
test {
systemProperty "propertyName", "propertyValue"
}
您也可以像这样传递所有系统属性:
test {
systemProperties(System.getProperties())
}
我尝试将参数从命令行传递到gradle。 我的身材是: 当我这样做时: 我得到这个: 我的问题是我应该为main提供什么?任何java文件包的名称?有具体的路径吗?什么应该是真正的源集?
我试图将一个参数从命令行传递到java类。我关注了这篇文章:http://gradle.1045684.n5.nabble.com/gradle-application-plugin-question-td5539555.html,但是代码对我来说不起作用(也许它不适合JavaExec?)。以下是我所尝试的: 上面硬编码的args值的输出是: 任何关于如何将命令行参数传递给gradle的指针都很感
要启动Java程序,我可以传递如下参数: 在gradle命令行中有哪些好的方法可以做到这一点: 这是正在建造的。格雷德尔:
我试图找到从命令行传递gradle任务参数的最佳方法。我有这个任务。我想从学生练习中解包解决方案,并将它们复制到项目中的正确位置,以突出它们。我这样称呼这个任务: 这是gradle任务: 你有什么建议来优化这个过程吗?
考虑下面的用例。 设计用于创建用户帐户的测试用例。 现在我想用不同的参数运行这个测试用例,例如名称、年龄等,我想通过命令行控制这些参数。
我有一个java和groovy类,由gradle Task运行。我已经设法使它工作,但我不喜欢在命令行中传递参数的方式。下面是我当前通过命令行执行的方法: my build。gradle代码采用这些参数如下所示: 我想知道有没有一种方法可以更好地传递参数,比如: 以及如何在我的java类中使用它们。