当特定的弹簧配置文件处于活动状态时,如何防止运行测试?

我在 Maven 上构建了一个 Spring Boot 应用程序。我正在使用 Spring 配置文件来区分特定于环境的配置。我想在特定的 Spring 配置文件处于活动状态时阻止运行测试。原因:我想阻止使用生产属性 ( spring.profiles.active=prod) 运行测试。我想在全局范围内执行此操作(可能使用一些 Maven 插件),而不是分别在每个测试中执行此操作。

您对此有任何已检查的解决方案吗?



不负相思意
浏览 72回答 2
2回答

鸿蒙传说

<profiles>&nbsp; &nbsp; <profile>&nbsp; &nbsp; &nbsp; &nbsp; <id>prod</id>&nbsp; &nbsp; &nbsp; &nbsp; <properties>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <maven.test.skip>true</maven.test.skip>&nbsp; &nbsp; &nbsp; &nbsp; </properties>&nbsp; &nbsp; </profile></profiles>

莫回无

您可以使用@IfProfileValue注释。但是您必须向您的活动配置文件添加一些值并使用提到的注释阅读它。您可以在此处阅读更多信息(第 3.4.3 节):https ://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html#integration-testing编辑:另一种解决方案是排除 Surefire 插件中的所有(或选定的测试)测试:<plugin>&nbsp; &nbsp; <groupId>org.apache.maven.plugins</groupId>&nbsp; &nbsp; <artifactId>maven-surefire-plugin</artifactId>&nbsp; &nbsp; <configuration>&nbsp; &nbsp; &nbsp; &nbsp; <excludes>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<exclude>${exclude.tests}</exclude>&nbsp; &nbsp; &nbsp; &nbsp; </excludes>&nbsp; &nbsp; &nbsp; </configuration></plugin>...<profile>&nbsp; <id>prod</id>&nbsp; <properties>&nbsp; &nbsp; <exclude.tests>**/*.*</exclude.tests>&nbsp; </properties></profile>然后当您运行时,mvn clean test -Pprod所有测试都将被跳过
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java