python - 模拟:在调用时包装方法和接收参数
问题描述
我想知道是否有可能在我不拥有的代码深处的某个地方修补一个方法,使我可以在调用该方法之前或之后接收该方法将接收的参数,而无需实际引用其上的对象该方法正在被调用。
我希望能够做类似的事情
def wrapping(method, *args, **kwargs):
# do stuff
rv = method(*args, **kwargs)
# more stuff
return rv
with mock.patch('path.to.The.method', wraps=wrapping):
code_that_eventually_calls_the_method()
然后当最终调用该方法时我会陷入包装,但我可以调用模拟方法而无需在测试代码中事先引用其对象。这是可以实现的吗?
解决方案
推荐阅读
- vue.js - 如何在 vuejs 中正确添加图像
- python - 使用列表列表在 pandas 中创建 DataFrame
- reactjs - 在 ReactJS 中将 props 传递给组件
- c# - C# OrderBy 方法如何按包含哈士奇代码的字符对对象进行排序?
- java - 尝试创建一个活动,当单击字体按钮时,fontfamily 应该更改
- reactjs - 如何解决“无效的 Hook Call”?
- html - 使用 HTML 时标记为属性指定值而不为属性指定名称的结果是什么?见描述中的例子
- java - 同时使用 2 个用户界面(GUI 和控制台)中断 Scanner.readLine 调用
- java - 如何在过滤器中从数据库中获取用户并在 jwt 响应中添加 ID?
- python - python中的有序排列