Jenkins报告测试版本是否成功,即使有异常导致的失败?

时间:2013-08-06 12:32:08

标签: maven build jenkins webdriver testng

我在部署后每次都运行SeleniumWebdriver / TestNG / Maven / Java持续集成测试。有时用户界面中缺少一个元素,并且测试会抛出异常(后来在代码中捕获,因为在catch语句中我关闭了浏览器),因此构建被标记为成功。

奇怪的是,我之前在例外导致的测试中失败了,而且构建仍然被认为是成功的。

我如何配置我的maven pom.xml文件或jenkins构建,以便它标记每个抛出异常的测试,一个FAILURE?

编辑:在得到了robjohncox的回应后,我现在还有另外一件事需要做:

我究竟如何再次抛出错误?

} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    quit(driver);
    sendMail();
}

是这样做的吗?

    throw e;

1 个答案:

答案 0 :(得分:1)

我认为问题与您在代码中捕获异常的事实有关。因为您正在处理异常,所以它不会传播到您的测试运行器,因此测试运行器不会意识到抛出了异常。

在捕获异常并关闭浏览器之后,您应该重新抛出异常,然后测试框架会报告测试失败。代码看起来像这样:

public void myTestCase() {
    try {
        // Do the testing
    }
    catch(Exception ex) {
        // Turn off the browser
        throw ex
    }
}