Ich versuche, Aufgabe zu schreiben, die Eingabeargument nimmt, es testOnly Aufgabe übergeben und ausführen. Es funktioniert perfekt, aber ich kann keine Systemeigenschaften in dieser Aufgabe festlegen, die im Test sichtbar sein wird. Diese Eigenschaften sollten andere Aufgaben nicht beeinträchtigen und sollten nur in dieser benutzerdefinierten Aufgabe sichtbar sein.sbt set java optionen in dynamische Aufgabe
Hier ist mein Codebeispiel
lazy val myTestOnly = InputKey[Unit]("myTestOnly", "test only with special sys prop")
val myTestOnlyTask = myTestOnly := {
Def.inputTaskDyn {
val args: Seq[String] = spaceDelimited("").parsed
javaOptions in Test ++= Seq("-Dfoo=bar") // does not work
testOptions += Tests.Setup(() => System.setProperty("foo", "bar")) //does not work
System.setProperty("foo", "bar") // does not work
(testOnly in Test).toTask(" " + args.head)
}.evaluated
}
Als ich in sbt Konsole
myTestOnly com.sampleTest
laufen
testOnly führt aber "foo" Eigenschaft ist nicht sichtbar
So ist die qustion wie einstellen Eigenschaft in der Aufgabendefinition, die nur für die aktuelle Aufgabe in der Testlaufzeit sichtbar ist?