Wie kann ich gradle parameters
in meinen JUnit
Testfällen verwenden?Gradle pass SystemProperties zu JUnit test
Ich versuchte dies:
build.bradle:
test {
systemProperty 'brand', System.properties['brand'] ? project.brand : 'abc'
}
In meinem Test habe ich mit allen Eigenschaften displayd:
System.properties.each { k,v->
log.info("$k = $v")
}
Mit diesem Code habe ich eine Menge von Eigenschaften erhalten, mit der Ausnahme für brand
.
Gibt es eine andere Möglichkeit, Marke in meinen Test zu bringen?
// Ich weiß nicht, ob es wichtig ist, aber ich verwende auch Gebish oder besser Selenium für meine Tests.
jUnit verwendet für jeden Test eine neue JVM. Gebisch irgendwie auch. Deine Idee funktioniert nicht. Aber ich habe einen hässlichen Workaround. In meiner build.gradle habe ich 'systemProperty'-Marke", project.hasProperty ("Marke")? project.brand: "abc" 'in der Testaufgabe. In meiner GebConfig.groovy habe ich 'brand = System.getProperty (" brand ")? System.getProperty ("Marke"): "abc" '(hier wieder abc, weil Intellij die Aufgabe nicht richtig ausführt) und in meinem Test habe ich' def brand = browser.config.getRawConfig(). GetProperty ("brand ") .toString()'. Nahm mich über 4 Stunden, um so zu finden –
die SystemProperties sollten die System.properties in der neuen JVM setzen In den Geb und Junit Tests mache ich die oben. Sind Sie sicher, dass Sie die Variable systemProperties gesetzt haben? –
Ja bin ich mir sicher. Ich habe es gerade noch einmal ausprobiert und System.properties (in einem Test) hatte keinen Markenschlüssel. –