java - 黄瓜即使一步失败也继续执行
问题描述
我想继续执行我的场景,即使在黄瓜报告中有些失败,它应该将其显示为失败但不应该停止执行。
我尝试使用软断言类并使用它
SoftAssertion sa = new SoftAssertion();
if (response.getStatusCode() == 200) {
Sytem.out.println("pAASED")
} else {
sa.fail("this is the failure");
}
但是假设我有两种情况,第一种情况的响应不是 200,否则它将阻塞并导致该情况失败
java.lang.AssertionError: this is the failure
at org.junit.Assert.fail(Assert.java:88)
它甚至不适合第二种情况。有人可以帮助我如何达到预期的结果(即它应该继续执行,而不管一个失败)
解决方案
这里有两个不同的东西。
- 错误代码作为响应
- 例外
根据Oracle 网站的异常定义:
异常是在程序执行期间发生的事件,它破坏了程序指令的正常流程。
这样,异常与正常的执行流程完全不同。因此,如果您想在出现异常的情况下继续进行,则需要使用异常处理的概念。如下:
try {
response = yourMethodCall();
} catch (Exception e) {
log.error(e)
}
在上面的示例代码中:
- 替换
yourMethodCall()
为实际的方法调用。 - 捕获适当的最小异常。(在你的情况下应该是
AssertionError
) - 考虑记录您的异常以便更好地调试,就像在代码中一样。为此创建日志对象。
推荐阅读
- java - Android Studio 从 Reyclerview 和 Sqlitedb 中删除所有行
- server - 无法从浏览器访问 Webmin - “Cron 15430088014649 缺少任何时间规范”
- reactjs - 错误:“TypeError:ReactWrapper 只能包装有效元素”在使用酵素.mount 时
- c# - 获取 DataGrid.RowDetailsTemplate 中的控件值
- sql-server - 这是什么字符编码?我该如何解码?
- java - 你如何在 Java 中比较日期、上一个日期和未来日期?
- bash - macOS:如何使用 ./startosinstall 将安装音量设置为变量
- docker - Docker - Nginx 未启用自定义配置
- python - 如何编写导入函数?
- python - 如何创建一个 10 倍数的几何进度程序