我有每次部署后都会运行的 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/