我想測試一個huey任務,並且需要打補丁requests.get
。運行測試如何在huey任務中進行模擬/猴子修補?
# huey_tasks.py
from huey import RedisHuey
huey = RedisHuey()
@huey.task()
def function():
import requests
print(requests.get('http://www.google.com'))
文件:
import huey_tasks
@patch('requests.get')
def call_patched(fake_get):
fake_get.return_value = '1'
huey_tasks.function()
啓動huey_consumer:huey_tasks.huey -w 10 -l logs/huey.log
運行測試,但是打補丁並沒有任何影響。
[2016-01-24 17:01:12,053] INFO:requests.packages.urllib3.connectionpool:Worker-1:Starting new HTTP connection (1): www.google.com
[2016-01-24 17:01:12,562] INFO:requests.packages.urllib3.connectionpool:Worker-1:Starting new HTTP connection (1): www.google.com.sg
<Response[200]>
如果我刪除@huey.task()
裝飾,修補工程和1
被打印出來。
那麼應該怎麼測試休伊任務?畢竟,我無法每次刪除裝飾器,都必須是更好的方法。