ich ein Scala-Projekt mit Integrationstest habe mit folgenden OrdnerstrukturScala Integrationstest nicht Kommissionierung Konfigurationseigenschaften
My Project
- app
- it
- com.anjib.my.pkg
- resources
- application.regression.devl.conf
Ich mag eine der Eigenschaften zu überschreiben, indem in application.regression.devl.conf
Datei setzen, aber beim Laufen Integration testet seine noch ziehen Top-Level-Eigenschaft.
Zum Beispiel einige, wo in Projekt gibt es
someKey=someValue
ich
setzensomekey=otherValue
in application.regression.devl.conf
. Aber Integrationstests noch Kommissionierung someValue
Mein build.sbt sieht aus wie
lazy val `my-project` = (project in file("."))
....
.configs(IntegrationTest)
.settings(Defaults.itSettings : _*)
....
)
Config Laden als
def apply(): Config = {
val environment = determineEnvironment
val defaultConfig = ConfigFactory.load()
val envConfig: Config = ConfigFactory.load(s"application.$environment.conf")
val regressionSuiteConfig = ConfigFactory.load(s"application.regression.$environment.conf")
regressionSuiteConfig.withFallback(envConfig).withFallback(defaultConfig)
}
Update: ID I Ctrl + Shift + F10
tun In IntelliJ hat esaufgenommen. So hat es Problem nur mit sbt it:test
Wie laden Sie die Konfiguration? Standardmäßig sucht es nach "application.conf" und "reference.conf", nicht nach "application.regression.devl.conf". –
Aktualisierte Frage mit dem Ladecode der Konfiguration –