首先,我的真正目标是告知我的功能测试,有关哪个Gradle将启动我的开发服务器的信息(如果您有兴趣,请使用this plugin)。最简单的方法似乎是设置系统属性。因此,这就是我想要做的:
appengine {
httpPort = 8081
...
}
test {
systemProperty "httpPort", appengine.httpPort
}
我对Gradle还是很陌生,可能只是不太了解我的Groovy范围规则,但是应该可以做这样的事情,对吧?我已经看到使用“global
def
”来完成这种事情,但是对于这种特殊情况,似乎有一个更优雅的解决方案。
最佳答案
啊哈,这就是窍门:我想特别是将系统属性传递给我的功能测试。出于某种原因,尽管test
闭包是正确的选择,并且appengineFunctionalTest
任务将从那里继承,但事实并非如此。一旦我将test
闭包更改为appengineFunctionalTest
,Gradle便可以连接各个点。我仍然对这里的范围规则感到有些迷惑,但是我相信我会学习的。 :)
appengine {
httpPort = 8081
...
}
appengineFunctionalTest {
systemProperty "httpPort", httpPort
}
因此,很遗憾,这次问答似乎专门针对问题中引用的App Engine Gradle插件。感谢提供帮助的评论员!
关于google-app-engine - 尝试从Gradle测试任务访问另一个闭包的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24977755/