0
我有一些调用HTTP请求的代码,我想单元测试一个负面情况,它应该为404响应引发特定异常。然而,我试图弄清楚如何模拟参数,以便在调用函数中引发HTTPError
作为副作用,模拟对象似乎创建了一个可调用的函数,它不是它接受的参数,它只是标量值。Python嘲笑参数
def scrape(variant_url):
try:
with urlopen(variant_url) as response:
doc = response.read()
sizes = scrape_sizes(doc)
price = scrape_price(doc)
return VariantInfo([], sizes, [], price)
except HTTPError as e:
if e.code == 404:
raise LookupError('Variant not found!')
raise e
def test_scrape_negative(self):
with self.assertRaises(LookupError):
scrape('foo')
整洁!感谢这工作 –