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

讓我試試看 –