【发布时间】:2020-02-28 15:59:56
【问题描述】:
我正在尝试测试依赖于第三方的代码,并希望使用 monkeypatch 来复制我期望请求将返回的内容。这是我拥有的代码的最小示例。
import requests
def get_urls(*urls):
results = []
for url in urls:
results.append(requests.get(url).text)
对于我的测试,我有如下内容:
from my_package import get_urls
def test_get_urls():
urls = ("https://example.com/a", "https://example.com/b", "https://example.com/c")
assert len(get_urls(urls)) == 3
如何使用monkeypatch.setattr 对requests.get 的每个调用进行monkeypatch?模拟包似乎可以do this using side effects。如何使用 pytest 做到这一点?
【问题讨论】:
标签: python mocking pytest monkeypatching