maven - Jenkins 报告测试构建成功,即使存在由异常导致的失败?

标签 maven build jenkins webdriver testng

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

奇怪的是,我之前也有过异常导致的测试失败,构建仍然被认为是成功的。

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

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

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

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

是这样做的吗?
    throw e;

最佳答案

我认为问题与您在代码中捕获异常有关。因为您正在处理异常,它不会传播到您的测试运行程序,因此测试运行程序不知道抛出了异常。

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

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

关于maven - Jenkins 报告测试构建成功,即使存在由异常导致的失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18080270/

相关文章:

java - 如何重新安装 Maven 库?

java - 迁移到 jersey 2.x,现在我收到 servlet 容器异常

c++ - 为什么 Bazel 在重启或更改无线网络后重建?

jenkins - 更新当前作为Linux服务运行的Jenkins

java - 发送电子邮件功能出错

java - maven-compiler-plugin :3. 1:在 Eclipse 中编译(1 个错误)

ios - Swift 构建错误 : Expected name of in closure capture list

python - 为可移植运行者构建 apache beam sdk 线束 - 名称问题

windows - 设置 Jenkins 时权限被拒绝(公钥)

c++ - jenkins 在构建 cpp 代码时无法识别错误