我需要为我的JUnit测试定义一个系统属性。我已经尝试了各种步骤将名称/值对传递给gradle。 (我已经尝试过Milestone-3和4)。 这些方法都不起作用:
我没有看到“gradle属性”中的其他属性,但我不确定是否应该这样做。但更重要的是,我将System.properties转储到静态初始化程序中,并且该属性不存在。我需要将System属性传递给正在运行的测试,以告诉他们运行的是什么环境(本地,Jenkins等)。
答案 0 :(得分:10)
很抱歉回答我自己的问题。偶然发现了解决方案here:
测试{ systemProperties = System.properties }
答案 1 :(得分:2)
答案 2 :(得分:0)
在android上,您可以使用
android {
...
testOptions {
...
// Encapsulates options for local unit tests.
unitTests {
// By default, local unit tests throw an exception any time the code you are testing tries to access
// Android platform APIs (unless you mock Android dependencies yourself or with a testing
// framework like Mockito). However, you can enable the following property so that the test
// returns either null or zero when accessing platform APIs, rather than throwing an exception.
returnDefaultValues true
// Encapsulates options for controlling how Gradle executes local unit tests. For a list
// of all the options you can specify, read Gradle's reference documentation.
all {
// Sets JVM argument(s) for the test JVM(s).
jvmArgs '-XX:MaxPermSize=256m'
// You can also check the task name to apply options to only the tests you specify.
if (it.name == 'testDebugUnitTest') {
systemProperty 'debug', 'true'
}
...
}
}
}
}