我試圖用模擬來模擬python中的函數。這裏是我的代碼:使用模擬Python返回Iterable
resp, content = request(...)
request()函數需要返回兩個值。以下是我的嘗試:
with patch("syncdatetime.py") as sync_mock:
sync_mock.request.return_value = [obj, '']
但是當我運行測試時,出現錯誤「模擬對象不可迭代」。請求函數返回一個Mock類型的對象而不是一個列表。我如何修補請求函數以便它返回一個列表?披露的
我沒有試過這個,但我找到了一個更簡單的解決方案。不是修補模塊,而是修補函數本身,然後設置patch.return_value。老實說,我不完全確定這是爲什麼這樣工作,但這種方式,該函數不返回一個Mock對象。不過謝謝你的迴應。 – Matt 2011-06-20 18:37:21