java—即使一个步骤失败也继续执行

dtcbnfnu  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(398)

我想继续执行我的场景,即使在cucumber报告中出现了一些失败,它应该显示为失败,但不应该停止执行。
我尝试使用软Assert类

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)

它甚至不适用于第二种情况。有人能帮助我如何达到预期的结果吗(即,不管有人失败,它都应该继续执行)

1cosmwyk

1cosmwyk1#

这里有两个不同的东西。
作为响应的错误代码
例外
根据oracle网站的例外定义:
异常是在程序执行过程中发生的事件,它会中断程序指令的正常流动。
这样,异常就完全不同于正常的执行流。因此,如果您想继续即使在异常的情况下,您需要使用异常处理的概念。具体如下:

try {
    response = yourMethodCall();
} catch (Exception e) {
    log.error(e)
}

在上述示例代码中:
替换 yourMethodCall() 使用实际的方法调用。
捕获适当的最小异常(你的情况应该是这样的 AssertionError )
考虑记录异常以便更好地调试,如代码中所示。为此创建日志对象。

相关问题