gpt4 book ai didi

python - 可以对函数体中引入的局部变量进行猴子补丁吗?

转载 作者:行者123 更新时间:2023-12-05 00:17:03 25 4
gpt4 key购买 nike

py.test monkeypatching/mocking documentation这没有提到,但是可以对函数体中引入的局部变量进行猴子补丁吗?

我的实验:

def my_method():
my_var = 'foo'
return my_var[:2]

测试是:
def test_my_method(monkeypatch):
monkeypatch.setattr(my_module.MyClass.my_method.my_var, lambda: 'bar')
assert my_method() == 'ba'

AttributeError: 'function' object at MyClass.my_method has no attribute 'my_var'

最佳答案

这是不可能的,因为该变量提前不存在,而且据我所知 py.test 无法 Hook 局部变量的创建。

关于python - 可以对函数体中引入的局部变量进行猴子补丁吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40997705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com