【发布时间】:2019-07-18 07:44:50
【问题描述】:
是否支持不同的测试配置文件?在我的本地测试期间,我想使用使用“test”配置文件的“mvn package”。这指向我的本地主机数据库。对于我的 devops 工具链,我想使用不同的测试配置文件,因为我们正在使用容器并且不能使用 localhost。目标是区分本地机器测试和云环境。测试。
【问题讨论】:
标签: quarkus
是否支持不同的测试配置文件?在我的本地测试期间,我想使用使用“test”配置文件的“mvn package”。这指向我的本地主机数据库。对于我的 devops 工具链,我想使用不同的测试配置文件,因为我们正在使用容器并且不能使用 localhost。目标是区分本地机器测试和云环境。测试。
【问题讨论】:
标签: quarkus
您的意思是您运行 'mvn packge' 会导致测试正在运行 - 就像使用 'mvn test' 一样。在这种情况下,@QuarkusTest 测试将使用“测试”配置文件运行。在 ide 中运行测试也是如此。
有一个系统属性(与“-D”一起使用)“quarkus.test.profile”。它会导致此配置文件被激活:
mvn test -Dquarkus.test.profile=foo
.....
2020-04-10 14:06:20,451 INFO [io.quarkus] (main) Quarkus 1.3.0.Final started in 17.408s. Listening on: http://0.0.0.0:8081
2020-04-10 14:06:20,451 INFO [io.quarkus] (main) Profile foo activated.
您可以在 pom.xml 中的 surefire 或 failsafe 插件上设置此属性(请参阅1)。
您还可以在运行/启动配置的 IDE 中设置此属性以开始测试(IntelliJ:使用 vm 选项字段并添加“-Dquarkus.test.profile=integrate”)
【讨论】:
Quarkus 支持custom profiles。您有两种方法来设置自定义配置文件:通过quarkus-profile 系统属性或QUARKUS_PROFILE 环境变量。
例如,根据您的需要,您可以通过这种方式在application.properties 中使用具有不同数据库地址的“暂存”配置文件:
%staging.db.address=value
并将QUARKUS_PROFILE 环境变量设置为staging 以激活配置文件。
【讨论】:
您可以使用 quarkus.profile 属性,因此在运行时它将是:mvn package -Dquarkus.profile=your_custom_profile
【讨论】: