在 GitHub 上叉我

第一次失败后跳过测试

要在第一次失败或错误发生后跳过剩余的测试,请将配置参数设置skipAfterFailureCount1

第 N 次失败或错误后跳过测试

要在第 N 次失败或错误发生后跳过剩余的测试,请将配置参数设置skipAfterFailureCount为 N,其中 N 是大于零的数字。

先决条件

使用 maven-surefire-plugin 2.19 或更高版本,JUnit 4.0 或更高版本,或者 TestNG 5.10 或更高版本。

如果在设置参数时TestNG的版本低于5.10 skipAfterFailureCount,插件会失败并出现错误:

[ERROR] Failed to execute goal ...: Parameter "skipAfterFailureCount" expects TestNG Version 5.10 or higher. java.lang.NoClassDefFoundError: org/testng/IInvokedMethodListener

如果在设置参数时 JUnit 版本低于 4.0 skipAfterFailureCount,则插件失败并出现错误:

[ERROR] Failed to execute goal ...: Parameter "skipAfterFailureCount" expects JUnit Version 4.0 or higher. java.lang.NoSuchMethodError: org.junit.runner.notification.RunNotifier.pleaseStop()V

通知

TestNG 报告跳过的方法,但 JUnit 报告跳过的类。最好使用修复线程安全问题的 JUnit 4.12 或更高版本。

限制

尽管此功能也适用于分叉模式,但由于竞争条件,无法在并发模式下完全保证该功能(真正的第一次失败)。该参数reuseForks应始终设置为true(这是默认值),否则在大多数情况下此功能将无法正常工作。

其他特性

重新运行并跳过执行

从 2.19.1 开始,您可以一起使用参数skipAfterFailureCountrerunFailingTestsCount。这是由提供者surefire-junit4surefire-junit47. 如果出现错误或失败,您可以再次运行失败的测试并跳过测试集的其余部分skipAfterFailureCount。请注意,重新运行阶段失败的测试不包含在skipAfterFailureCount.