为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

不负相思意 2022-06-15 17:24:37
我在 Maven 上构建了一个 Spring Boot 应用程序。我正在使用 Spring 配置文件来区分特定于环境的配置。我想在特定的 Spring 配置文件处于活动状态时阻止运行测试。原因:我想阻止使用生产属性 ( spring.profiles.active=prod) 运行测试。我想在全局范围内执行此操作(可能使用一些 Maven 插件),而不是分别在每个测试中执行此操作。您对此有任何已检查的解决方案吗?
查看完整描述

2 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

<profiles>

    <profile>

        <id>prod</id>

        <properties>

            <maven.test.skip>true</maven.test.skip>

        </properties>

    </profile>

</profiles>


查看完整回答
反对 回复 2022-06-15
?
莫回无

TA贡献1865条经验 获得超7个赞

您可以使用@IfProfileValue注释。但是您必须向您的活动配置文件添加一些值并使用提到的注释阅读它。您可以在此处阅读更多信息(第 3.4.3 节):https ://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html#integration-testing


编辑:另一种解决方案是排除 Surefire 插件中的所有(或选定的测试)测试:


<plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-surefire-plugin</artifactId>

    <configuration>

        <excludes>

         <exclude>${exclude.tests}</exclude>

        </excludes>

      </configuration>

</plugin>

...

<profile>

  <id>prod</id>

  <properties>

    <exclude.tests>**/*.*</exclude.tests>

  </properties>

</profile>

然后当您运行时,mvn clean test -Pprod所有测试都将被跳过


查看完整回答
反对 回复 2022-06-15
  • 2 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信