Gradle将SystemProperties传递给JUnit测试

时间:2016-09-07 07:06:28

标签: gradle groovy junit properties

如何在gradle parameters测试用例中使用JUnit

我试过了:

build.bradle:

test {
    systemProperty 'brand', System.properties['brand'] ? project.brand : 'abc'
}

在我的测试中,我用:

显示所有属性
System.properties.each { k,v->
    log.info("$k = $v")
}

使用该代码,我获得了很多属性,除了brand

还有另一种方法让品牌进入我的考试吗?

//我不知道它是否重要,但我也使用Gebish或Selenium进行测试。

2 个答案:

答案 0 :(得分:1)

不知道为什么使用systemPropertytest配置中无效,但对于解决方法,您可以将systemProperties变量设置为:

test {
    System.properties.'brand' = System.properties['brand'] ? project.brand : 'abc'
    systemProperties = System.properties
}

或者,如果您不想修改System.properties,可以将systemProperties设置为

test {
    systemProperties = System.properties + ['brand1': System.properties['brand'] ? project.brand : 'abc']

}

答案 1 :(得分:0)

我的解决方案现在是:

build.gradle(在测试任务中):

systemProperty "brand", project.hasProperty("brand") ? project.brand : "abc" 

GebConfig.groovy:

brand = System.getProperty("brand") ? System.getProperty("brand") : "abc"

这里再次使用abc,因为IntelliJ没有正确运行任务,但是通过命令行

在测试中:

def brand = browser.config.getRawConfig().getProperty("brand").toString(‌​)