2016-11-09 177 views
0

我有一些代碼在我的情況,如我怎樣才能在加特林elminated警告ReponseProcessor

.check(status.is(200), jsonPath("$['resultData'][*]['@contentType']").findAll.saveAs("resultData")) 
.check(status.is(500), jsonPath("$['processingError']").find.saveAs("processingError")) 

,但我不斷收到以下

10:36:51.946 [WARN ] i.g.h.a.ResponseProcessor - Request 'GetAllThings' failed: status.find.is(200), but actually found 500 
10:36:52.344 [WARN ] i.g.h.a.ResponseProcessor - Request 'GetAllThings' failed: status.find.is(500), but actually found 200 

有一些方法可以讓我建立我的支票,以我沒有收到這些消息,因爲我已經處理了這兩種情況?

我已經嘗試了幾個變化,但似乎沒有任何工作。

+0

這兩個不同的執行者是兩個獨立的檢查?你有沒有嘗試打印響應碼?失敗表示您正在查找200的響應代碼,但響應將以500爲單位 - 這是一個有效的失敗。 –

回答

0

好吧,這不會是我想要(大部分)

.check(
    status.in(Seq(200, 400, 500)), 
    jsonPath("$['resultData'][*]").findAll.optional.saveAs("resultData"), 
    jsonPath("$['processingError']").optional.saveAs("processingError") 
) 

我說主要是因爲雖然它解決了一個問題,它創造另一個東西。基本上400和500錯誤被捕獲,但現在它們沒有被標記爲KO,所以統計數據不計算它們。我試着明確返回

sesson.markAsFailed 

在我的exec(),但不工作,可能是因爲一旦你從單向的,失敗不計(雙關語意)。