我正在尝试使用模拟引擎模拟全局变量,但它似乎不仅仅适用于我的变量。例如os.name,当我打补丁时,它工作得很好,但是对于我的自定义变量,它不起作用。这是代码:
global_var.py
var = 10
Run Code Online (Sandbox Code Playgroud)
use_global_var.py
from global_var import var
def test_call():
return var
Run Code Online (Sandbox Code Playgroud)
测试文件
import mock
from use_global_var import test_call
@mock.patch('global_var.var', 50)
def test_check():
print(test_call())
test_check()
Run Code Online (Sandbox Code Playgroud)
print 如果我理解正确,应该返回 50,但它返回 10。有谁知道这里的问题是什么以及如何解决它?
你不是在嘲笑正确的名字。use_global_var.test_call正在看名字use_global_var.var,但你在嘲笑global_var.var。
@mock.patch('use_global_var.var', 50)
def test_check():
print(test_call())
test_check()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3166 次 |
| 最近记录: |