在我最新的Python項目中,利用Twisted,我試圖善於使用unittest模塊。在很高的層面上,我正在構建兩個專門用於相互交流的RESTful API。對於大多數請求,我可以使用DummyRequest並根據預期的常量測試呈現的值,並且工作正常。扭曲的單元測試客戶端 - 服務器交互
但是,我有一些情況下,設計需要在一臺服務器上的請求(其中包括)然後向其他服務器發送請求,但並不真正關心響應。重要的是請求發生。
就像我說過的,我可以在另一側測試這個功能是否完美,但是我越來越難以確定數據是如何測試的。我的想法而已要麼
- 設置,只是檢查是否提出請求並驗證輸入的虛擬測試服務器 - 似乎片狀,太多的精力
- 建立一個裝飾包某些測試並修改urllib.urlopen來報告它何時被調用,我們試圖檢索,並允許我簡單地返回一個已知的結果。
我傾向於第二種選擇,因爲它似乎更pythonic,但也有點hacky。
想法?
你的問題對我來說有點模糊,你已經有了一個一般的答案。但是,'urllib.urlopen'跳到我身上。這是你如何提出你的要求?如果是這樣,你應該改變你的代碼部分。 'urllib.urlopen'是一個阻塞呼叫。改用'twisted.web.client'。 – 2012-03-21 12:18:50