7
我想弄清楚如何爲我要編寫的服務編寫測試用例。Groovy HTTPBuilder模擬響應
該服務將使用HTTPBuilder來請求來自某個URL的響應。 HTTPBuilder請求只需要檢查響應是否成功或失敗。服務實現會是這麼簡單的東西:
boolean isOk() {
httpBuilder.request(GET) {
response.success = { return true }
response.failure = { return false }
}
}
所以,我希望能夠嘲笑HTTPBuilder這樣我就可以設置響應是在我的測試無論成功/失敗,所以我可以斷言,我的服務的isOk
方法在響應成功時返回True,在響應失敗時返回False。
任何人都可以幫助我如何嘲笑HTTPBuilder請求並在GroovyTestCase中設置響應?
感謝您的答覆。我不明白什麼會將「結果」設置爲真/假。這不是更像是一個存根,而不是一個模擬? – C0deAttack 2012-02-01 19:04:44
您必須在設置測試時自行設置結果。例如。 '新的MockHttpBuilder(結果:true)'。我添加了一個使用groovy嘲笑的替代方案。 – ataylor 2012-02-01 19:19:58
Ataylor的回覆很好,我想到了幾乎相同的實現,只是我直接設置了響應狀態,然後使用它從映射中執行正確的閉包。然而,這真是存根嘲弄。我認爲正確的做法是嘲笑給予迴應的客戶。 – Gepsens 2012-06-25 16:08:49