在Python中,我創建了一個讀取網頁內容並對內容執行一些操作的方法。在單元測試中指定模擬變量值
我想單元測試使用特定http地址的方法,但我不想在生產代碼中手動分配地址,然後對其進行測試。所以理想情況下,我想創建一些模擬對象(使用Mock庫),它需要我需要的http地址的值,以便可以使用該值運行我的測試。
作爲一個方面說明,測試的目的是驗證我的代碼與測試的http地址引發正確的異常。
所以要說明這一點,我想測試代碼有以下形式:
Class A
method1()
var1 = "wwww.something.com"
read contents at address var1
do stuff with contents (raise error if bad contents)
我想在我的單元測試,測試與VAR1 =「wwww.somethingelse.com」的代碼(最好使用模擬庫)。
感謝任何幫助。
謝謝。事實上,我的方法需要幾個參數來建立鏈接。所以如果我想模擬一個HTTP錯誤,我會怎麼做呢? – jule64 2012-08-12 11:42:02
你可以使用['mock.patch'](http://www.voidspace.org.uk/python/mock/patch.html#mock.patch)修飾器修補'yourmodule.urllib2.urlopen', ,用一個模仿其'side_effect = urllib2.HTTPError(無論什麼,參數,你想要,它)'。 – Julian 2012-08-12 14:31:48
明白了,非常感謝 – jule64 2012-08-12 15:08:47