如何解决测试套件环境变量
我在Qurkus面临新秀挑战(我也是Java的新手,如果遇到愚蠢的情况,请您谅解)。我正在将“ .env”文件用于本地开发变量,并在“ application.properties”中设置(非秘密)生产变量。
一切都很好,但是现在我尝试设置一个测试套件,“。env”中的vars覆盖了“ application.properties”中的变量(甚至还有那些具有“%test”配置文件的变量)并阻止了我同时具有开发和测试环境。
对我来说,这可以通过为不同的%profile(例如“ .env.testing”)使用单独的(源控制已索引)env文件并将其分配给测试运行程序来完成。这种模式在其他语言的测试框架中非常普遍,但我找不到解决方案。
有什么想法吗?
谢谢
解决方法
事实证明,Quarkus支持.env
中具有不同格式的配置配置文件(但文档中未提及)。因此,我们可以像这样简单保存application.properties
文件:
app.env=production
和.env
文件,如下所示:
_DEV_APP_ENV=development
_TEST_APP_ENV=testing
可以在this PR中找到更详细的文档。
,一种简单的方法是在application.properties
文件中使用属性表达式。
例如,要设置application.host
,可以在application.host=${HOST:localhost}
文件中使用application.properties
之类的属性表达式。如果在您的.env文件或application.properties文件中定义了名为HOST
的属性,则将其值分配给application.host,否则,将分配默认值(在本示例中为localhost)。 / p>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。