【发布时间】:2021-09-21 08:19:55
【问题描述】:
我正在编写一些测试,并且在使用外部 API 时我必须创建一些功能补丁。故意不是保留工程师 API 设计,而是创建一个补丁以在测试期间施加类似的行为。
例如
考虑 'requests' API,我们可以通过调用 requests.get('https:// URL') 来获取任何 URL 的响应。猴子补丁documentation 中提供了此功能的补丁。
现在考虑一个不同的 API。哪个更复杂并且具有嵌套功能。现在问题变成了我们如何准确地为嵌套函数创建补丁。
代码示例
SomeAPIClass.function_1().function_2().execute()
现在的问题是,我究竟如何为execute() 函数创建补丁。 MonkeyPatch 确实为给定函数设置了一个属性,但这只是转到function_1(),因为它会变成monkeypatch.setattr(SomeAPIClass, "function_1", mock_get)
【问题讨论】:
-
我添加了一个答案。你能检查一下它是否对你有用吗?
标签: python pytest google-analytics-api monkeypatching