2017-02-14 68 views
0

我试图验证API返回的错误消息是否正确。 所以,我存储在HashMap中所有地方的错误消息字符串errorMessagefor循环内的失败断言不会失败的加特林场景

.doIf(errorMessages.size()>1) { 
    exec(session => { 
    assert(ResponseJSON.contains(errorMessages.get("errorMessage1"))) 
    for ((k,v)<- errorMessages){ 
     assert(ResponseJSON.contains(v)) 
    } 
} 

我可以看到在控制台上的误差

hook-3' crashed with 'java.lang.AssertionError: assertion failed', forwarding to the next one 

不过,加特林场景并不是失败在这里,什么是我失踪 ?

+0

如果你打算使用'.size()',你不应该测试'.size()> 0'吗? - 或者更好的是,使用'.nonEmpty' – millhouse

+0

'.size()'会给我大小,我想检查确切的字符串匹配 –

+0

这段代码有太多东西可以出错。人们只能猜测。你能发布一个可运行的小例子吗? – NetanelRabinowitz

回答

0

尝试使用exitHereIfFiled来退出场景。

+0

感谢@niharika_neo,但它会在第一次失败时突然停止执行。我希望我的执行能够继续,尽管某些方案在两者之间失败。 –

+0

那样的话,exitBlockOnFail会有帮助吗? –

+0

让我试试看 –