如何跳过 surefire 测试但 运行 故障安全测试?

How to skip surefire tests but run failsafe tests?

在我的项目中,我有 surefire 和 failsafe 测试。

如果我 运行 和 mvn clean install -DskipTests 那么这两种测试都会被跳过。

如果我尝试 运行 使用 -Dit.test=TestName 进行单个故障安全测试,那么首先进行所有 surefire 测试 运行 然后我的 it 测试..但是随着 surefire 测试的进行好久没这样了

在某些情况下我想跳过 surefire 测试,但 运行 故障安全 IT 测试。

默认情况下,-DskipITs=true 会跳过 Failsafe,但 -DskipTests=true 会跳过 Surefire 和 Failsafe 测试,这有时会让人感到困惑(烦人?)。

无论如何,您可以通过将 Surefire 插件配置为使用不同的 'skip' 参数来更改此行为。例如:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12.4</version>
    <configuration>
        <skip>${skipSurefire}</skip>
    </configuration>
</plugin>

这将允许您跳过 Surefire 测试,但不会 通过调用以下方式进行故障安全测试:

mvn clean verify -DskipSurefire=true