如何在测试失败后停止运行TestNG [英] How to stop TestNG from running after a test fail

查看:69
本文介绍了如何在测试失败后停止运行TestNG的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试用TestNG编写一个测试方法,失败后,整个测试套件将停止运行。

@Test
public void stopTestingIfThisFailed() throws Exception
{
    someTestStesp();
    if (softAsserter.isOneFailed()) {
        asserter.fail("stopTestingIfThisFailed test Failed");
        throw new Exception("Test can't continue, fail here!");
    }
}

正在引发异常,但其他测试方法正在运行。

如何解决此问题?

推荐答案

我是这样解决问题的:在一定不能失败的测试之后-我正在将数据写入临时文本文件。

稍后,在下一个测试中,我在@BeforeClass中添加了代码,用于检查前面提到的文本文件中的数据。如果找到显示停止程序,我将终止当前进程。

如果"不能"测试实际失败:

 public static void saveShowStopper() {

    try {
        General.createFile("ShowStopper","tempShowStopper.txt");
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

@BeforeClass验证代码:

@BeforeClass(alwaysRun = true)
public void beforeClass(ITestContext testContext, @Optional String step, @Optional String suiteLoopData,
        @Optional String group) throws Exception
{
    boolean wasShowStopperFound = APIUtils.loadShowStopper();
    if (wasShowStopperFound){
        Thread.currentThread().interrupt();
        return;
    }
}

这篇关于如何在测试失败后停止运行TestNG的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆