TestNG - 在发生故障时跳过所有类

时间:2017-12-13 20:10:39

标签: testng

我的tetsng套件如下所示 - 如果MyTest1出现任何故障,会跳过MyTest1中的所有其他@Test方法,这非常棒!但MyTest2仍然执行。我想完全跳过所有课程并进入下一个测试。

<test name="how to skip">
    <classes>
        <class name="com.test.MyTest1" />    <!-- if anything fails here, skip MyTest2 -->
        <class name="com.test.MyTest2" />
    </classes>
</test>

有什么办法吗?

1 个答案:

答案 0 :(得分:0)

TestNG为您提供的解决方案没有开箱即用。您应该能够通过以下方式自行构建:

  1. 构建一个实现nvarchar的侦听器,其中IInvokedMethodListener在其beforeInvocation()内开始检查与当前ITestContext关联的ITestResult对象是否有任何失败。如果有失败,则从SkipException
  2. 中抛出beforeInvocation()
  3. 通过<listeners>标记或使用SPI模型(服务加载器)或使用@Listeners注释来连接此侦听器。
  4. 这应该足够了