Quarkus 配置文件在测试执行期间无法正常工作

问题描述 投票:0回答:1

我遇到了 Quarkus 配置文件在测试执行期间无法按预期运行的问题。具体来说,当使用命令 mvn failuresafe:integration-test -Pit -Dquarkus.profile=it 运行测试时,应用程序似乎忽略了 application-it.properties 中指定的属性,而是使用 application.properties 中的属性。

这是我的项目结构的简化版本:

project-root
  |-- src
       |-- main
            |-- resources
                  |-- application.properties
                  |-- application-it.properties
       |-- test
            |-- java
            |-- resources
                  |-- application-it.propertie

在我的 pom.xml 中,我设置了故障安全插件和配置文件,如下所示:

<profile>
            <id>it</id>
            <properties>
                <quarkus.profile>it</quarkus.profile>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <skipTests>false</skipTests>
                            <includes>
                                <include>**/*IT.java</include>
                            </includes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

我使用下面的命令来运行集成测试:

mvn failsafe:integration-test -Pit -Dquarkus.profile=it 

尽管指定了 -Dquarkus.profile=it 选项并将 application-it.properties 文件放在适当的位置,但应用程序似乎仍在测试执行期间从 application.properties 中获取属性。

什么可能导致此行为以及如何确保我的测试在使用 it 配置文件运行时使用 application-it.properties 中指定的属性?任何见解或建议将不胜感激。

我尝试使用语法 %profile.property 在文件 application.properties 中定义配置文件属性。但是,具有不同配置文件的属性被忽略。

testing quarkus profile
1个回答
0
投票

您可以尝试阅读 quarkus 文档上的部分。 是这么说的

仅当未配置的 application.properties 在同一位置也可用并且文件之间的文件扩展名匹配时,才会加载配置文件感知文件。这是保持一致的加载顺序并将所有资源配对在一起所必需的。

因此,您可能需要在测试->资源文件夹中添加

application.properties
,看看它是否可以识别属性。

希望有帮助🤘

© www.soinside.com 2019 - 2024. All rights reserved.