java - 将 Maven 标记中的两个标志添加到 SkipTests

标签 java scala maven maven-failsafe-plugin

我正在使用 ScalaTest 插件来执行一些 IT 测试。我需要跳过某些管道中的所有测试(Unit,IT),并且它们只使用标志 ${skipTests} 所以我需要为我的所有测试使用该标志测试类型。在本地,有时我只想执行单元或 IT 测试,但现在只有一个标志,这是不可能的。

仅在 IT 插件中评论该行即可,但我不喜欢这种容易出错的方法(肯定有人会提交评论行)

                <skipTests>${skipTests}</skipTests>

我在想,如果我可以使用某种 OR 条件在本地执行中将一个新标志设置为 true,并将另一个标志设置为 false,那就太好了

            <skipTests>${skipTests} || ${skipItTests}</skipTests>

显然这不起作用,但我想知道是否有人知道如何做我想做的事。

问候。

最佳答案

已经在 Prevent unit tests but allow integration tests in Maven 中回答了

乍一看,您可以使用以下 pom 片段来运行(UNIT、IT)测试的任意组合。

<project>
  ...
  <properties>
    <skipTests>false</skipTests>
    <skipITs>${skipTests}</skipITs>
    <skipUTs>${skipTests}</skipUTs>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.12.4</version> <!-- use appropriate version -->
        <configuration>
          <skipTests>${skipTests}</skipTests>
          <skipITs>${skipITs}</skipITs>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12.4</version> <!-- use appropriate version -->
        <configuration>
          <skipTests>${skipUTs}</skipTests>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

并使用

  • mvn install -DskipUTs:跳过单元测试
  • mvn install -DskipITs:跳过集成测试
  • mvn install -DskipTests:跳过单元测试和集成测试

原帖为https://antoniogoncalves.org/2012/12/13/lets-turn-integration-tests-with-maven-to-a-first-class-citizen/

关于java - 将 Maven 标记中的两个标志添加到 SkipTests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55296896/

相关文章:

java - 保存已计算的值

java - 如何从java程序的main方法调用Scala程序的main方法?

scala - 无法导入带有 Scala 类 Connection* 的 HBase

scala - Scala 中的构造函数局部变量

java - 如何在 Netbeans 中自动重建链接项目?

java - Maven bundle 插件配置

java - java中的单向链表

java - Guice jar 中的 Assisted 类在哪里?

java - Eclipse 中的 exec-maven-plugin :1. 2.1

java - PowerMock - 禁止构造函数但设置私有(private)最终字段