我正在使用带有Groovy的Cucumber JVM并在断言中使用try catch块:
try {
assert response.status == 200
tr.pass("Status is 200")
} catch(AssertionError err) {
tr.fail(err.message)
}
现在,如果以某种方式断言失败,那么它将捕获异常并且不会在那时停止该场景并开始在相同场景中执行下一步。我有2个选择: 1.尝试捕获后,我再次提出我的断言 2.在catch块中添加一些代码,中止我的场景并继续下一个场景。
我更喜欢选项2.请帮帮我。
不是tr.pass和tr.fail是用户定义的写状态函数,
答案 0 :(得分:0)
我认为如果你不在步骤定义中使用try catch,它已经在做了。您可以在步骤定义中使用断言。
assertTrue(response.status == 200);
如果失败而不是停止场景并跳过其他步骤(当,然后和然后)并继续其他场景。