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

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

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

  1. SoftAssertion sa = new SoftAssertion();
  2. if (response.getStatusCode() == 200) {
  3. Sytem.out.println("pAASED")
  4. } else {
  5. sa.fail("this is the failure");
  6. }

但是假设我有两个场景,第一个场景的响应不是200,它将阻塞并使场景失败

  1. java.lang.AssertionError: this is the failure
  2. at org.junit.Assert.fail(Assert.java:88)

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

1cosmwyk

1cosmwyk1#

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

  1. try {
  2. response = yourMethodCall();
  3. } catch (Exception e) {
  4. log.error(e)
  5. }

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

展开查看全部

相关问题