第一次失败后跳过测试
要在第一次失败或错误发生后跳过剩余的测试,请将配置参数设置skipAfterFailureCount
为1
。
第 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 开始,您可以一起使用参数skipAfterFailureCount
和rerunFailingTestsCount
。这是由提供者surefire-junit4
和surefire-junit47
. 如果出现错误或失败,您可以再次运行失败的测试并跳过测试集的其余部分skipAfterFailureCount
。请注意,重新运行阶段失败的测试不包含在skipAfterFailureCount
.