我正在尝试从 Gadling-Scala 中的 application.properties 文件中获取一些属性。我试过了。
val properties: Config = ConfigFactory.load("application.properties")
val clientId: String = properties.getString("api.clientId")
我不断收到“com.typesafe.config.ConfigException$Missing 未找到密钥“api”的配置设置”。我将 application.properties 文件放在 src/test/resources/application.properties 中以及项目的根文件夹中。 我还尝试将相同的信息放入 src/test/resources/gadling.conf 中,如下所示:
gatling {
api {
clientId = "..."
}
}
但是我收到错误:
com.typesafe.config.ConfigException$Missing No configuration setting found for key 'gatling'
我有什么遗漏的吗?
我通过安装适用于 .conf 文件的插件 HOCON 并正确格式化它,成功地获取了 gadling.conf 文件中的信息。
我解决了这个问题,感谢下面的这个答案:
从测试资源根加载:
f.ex:
someModule/src/test/resources/some.conf
这对我有用:
ConfigParseOptions options = ConfigParseOptions.defaults().setAllowMissing(false); final Config config = ConfigFactory.parseResources("some.conf", options);
我将这种方法应用到我的代码中,以便从我的
gatling.conf
文件中调用环境变量。我在模拟课程中使用了 Kotlin 语言。
这是我的代码:
class TestSimulation : Simulation() {
private val environment : String = System.getProperty("env")
private val config: Config = ConfigFactory.parseResources("gatling.conf").getConfig("gatling")
private val url = config.getConfig(environment).getString("url")
我的
gatling.conf
文件如下所示:
gatling {
local {
url: <your-localhost-url>
}
dev {
url: <your-dev-env-url>
}
现在,我可以在此命令中使用
gatling:test -Denv=local
指定具有系统属性的环境。