我与集成测试的Scala的项目,下面的文件夹结构斯卡拉集成测试不采摘配置属性
My Project
- app
- it
- com.anjib.my.pkg
- resources
- application.regression.devl.conf
我想投入application.regression.devl.conf
文件覆盖的特性之一,但同时运行集成测试它仍然是拉动顶级财产。
例如,在一些项目在有
someKey=someValue
我把
somekey=otherValue
在application.regression.devl.conf
。但是,集成测试仍在采摘someValue
我build.sbt看起来像
lazy val `my-project` = (project in file("."))
....
.configs(IntegrationTest)
.settings(Defaults.itSettings : _*)
....
)
配置负载为
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)
}
更新:ID我做Ctrl + Shift + F10
在IntelliJ它确实拿起otherValue
。所以它有问题,只能用sbt it:test
你是如何加载配置?默认情况下它会查找'application.conf'和'reference.conf',而不是'application.regression.devl.conf'。 –
更新的问题,配置加载代码 –