【问题标题】:Is it possible to exclude or ignore junit test during a certain maven profile build?是否可以在某个 Maven 配置文件构建期间排除或忽略 junit 测试?
【发布时间】:2012-04-27 10:58:30
【问题描述】:

假设我有两个配置文件,一个用于生产,另一个用于测试环境。问题是,我只想为开发环境执行一些测试,而不是生产环境。

我试图输入@ignore,但我不能说只在产品构建期间忽略它。我尝试使用 maven 的万无一失的插件,但我再次无法让它与每个配置文件的不同行为一起使用。

(PS:这是一个spring-hibernate项目,由hazelcast,jms(activeMq),调度程序(quartz)等不同技术提供......)

任何帮助将不胜感激。

【问题讨论】:

标签: spring junit maven-3


【解决方案1】:

我们有一个系统,其中包含三种测试大小(小、中和大)。我们创建了一个注释,允许我们用这些大小标记测试。我们还创建了一个规则,它将检查特定的环境变量并根据大小跳过测试。抱歉,我无法发布代码,但我们就是这样做的。

这里有一些关于 Google 是如何做到的帖子(我们的资料基于 Google)

http://blog.utest.com/how-google-tests-software-small-medium-and-large/2011/04/

【讨论】:

    【解决方案2】:

    您可以使用maven.test.skip 参数忽略junit 测试,如documentation 中所述。您还可以将参数设置为配置文件的一部分。

    <profile>
      <id>noTest</id>
      ...
      <properties>
        <maven.test.skip>true</maven.test.skip>
        ...
      </properties>
      ...
    </profile>
    

    【讨论】:

    • 首先感谢您的回复。但是我实际上只跳过了一些测试(例如,总共 20 个测试中的 2 个)。
    • 我的意思是,我实际上“必须”跳过一些测试,而不是全部。
    【解决方案3】:

    Maven 的 Surefire 插件:包含和排除测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-25
      • 2010-12-08
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      相关资源
      最近更新 更多