在Maven标记中添加两个标记到SkipTests

问题描述 投票:1回答:1

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

只评论它可以工作的IT插件中的行,但我不喜欢这个容易出错的错误(有人肯定会提交注释行)

                <skipTests>${skipTests}</skipTests>

我想如果我可以使用某种OR条件在我的本地执行中设置一个新标志为真,并保持另一个为假,那将是很好的

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

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

问候。

java scala maven maven-failsafe-plugin
1个回答
2
投票

它已经在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/

© www.soinside.com 2019 - 2024. All rights reserved.