【问题标题】:What is the difference between "-Dmaven.test.skip.exec" vs "-Dmaven.test.skip=true" and "-DskipTests"?“-Dmaven.test.skip.exec”与“-Dmaven.test.skip=true”和“-DskipTests”有什么区别?
【发布时间】:2014-03-22 22:27:52
【问题描述】:

我不确定 maven 指令 -Dmaven.test.skip.exec-Dmaven.test.skip=true -DskipTests 之间的区别是什么。两者似乎都抑制了测试周期。

【问题讨论】:

标签: maven


【解决方案1】:

"maven.test.skip.exec=true" 测试被编译,但没有被执行。

maven.test.skip=true”不编译或执行测试。

"-DskipTests" 是 same 作为 "maven.test.skip.exec=true"

【讨论】:

    【解决方案2】:

    请看参考: http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html

    提取:

    跳过测试

    要跳过运行特定项目的测试,请设置 skipTests 属性为 true。

    <project>
      [...]
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
          </plugin>
        </plugins>
      </build>
      [...]
    </project>
    

    您也可以通过命令行执行跳过测试 以下命令:

    mvn install -DskipTests
    

    如果你绝对必须,你也可以使用 maven.test.skip 属性 跳过编译测试。 maven.test.skip 被 Surefire 授予荣誉, Failsafe 和编译器插件。

    mvn install -Dmaven.test.skip=true
    

    【讨论】:

      【解决方案3】:

      system property-Dmaven.test.skip=true 将执行以下操作:

      因为 maven.test.skip 禁用了运行测试和编译 测试。

      系统属性 -Dmaven.test.skip.exec 已弃用,您应该使用 -DskipTests=true

      将此设置为“true”以跳过正在运行的测试,但仍会编译它们。

      【讨论】:

        猜你喜欢
        • 2014-10-27
        • 2021-05-13
        • 2020-01-03
        • 2011-06-22
        • 2018-12-20
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 2017-11-08
        相关资源
        最近更新 更多