在Skiptests中添加两个标签中的两个标志



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

仅评论它的插件中的行,但我不喜欢此错误容易出现(有人肯定会提交评论行)

                <skipTests>${skipTests}</skipTests>

我认为,如果我可以使用某种OR条件在本地执行中设置一个新标志,并将另一个保持为false

,那将是很棒的
            <skipTests>${skipTests} || ${skipItTests}</skipTests>

显然这是不起作用的,但是我想知道是否有人知道一种做我想做的方法。

问候。

它已经在预防单元测试中得到了回答,但允许在Maven

中进行集成测试

一目了然,您可以使用以下POM摘要来运行(单位,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/12/lets-turn-integration-tests-with-maven-to-maven-to-a-first-class-class-citizen/

最新更新