2013-11-22 58 views
1

我們使用ratpack框架構建REST服務器和spock進行測試。Spock:關於錯誤的更多細節

我需要調整斯波克輸出條件滿足(例如棧跟蹤或響應轉儲。)

例如,下面的測試時:

def "Vk: Auth mr. John"() { 
    when: 
    request.param "vkId", vkId 
    request.param "vkToken", vkToken 
    request.port 5050 
    def resp = request.post "/auth/vk" 

    then: 
    resp.statusCode() == 200 
    def json = resp.jsonPath() 

    with(json) { 
     response != null 
     response.token != null 
     response.userId != null 
    } 
} 

可生產以下錯誤:

Condition not satisfied: 

resp.statusCode() == 200 
| |   | 
| 500   false 
[email protected] 

如何我可以讓spock提供更多的細節,如響應身體?

回答

1

認爲你必須做一些事情,如:

assert resp.statusCode == 200, 
     "resp.statusCode == $resp.statusCode (not 200) $resp.body" 
+0

另一種選擇是包括'在斷言resp.body'。 –

+0

謝謝,很好的提示。但是,一旦我得到結果'''assert resp.statusCode()== 200,「不是200 $ {resp.body()。print()}'''我得到'''IOException:嘗試讀取封閉流' ''coz已經在取代的字符串中讀取數據 – ruX

相關問題