【发布时间】:2016-03-19 00:22:48
【问题描述】:
我写了一个单元测试来测试请求包的超时
my_module.py:
import requests
class MyException(Exception): pass
def my_method():
try:
r = requests.get(...)
except requests.exceptions.Timeout:
raise MyException()
单元测试:
from mock import patch
from unittest import TestCase
from requests.exceptions import Timeout
from my_module import MyException
@patch('my_module.requests')
class MyUnitTest(TestCase):
def my_test(self, requests):
def get(*args, **kwargs):
raise Timeout()
requests.get = get
try:
my_module.my_method(...)
except MyException:
return
self.fail("No Timeout)
但是当它运行时,my_method 中的 try 块永远不会捕获 requests.exceptions.Timeout
【问题讨论】:
标签: python python-requests python-mock