所以我正在运行py.test并尝试使用monkeypatch。我知道monkeypatch的预期目的是替换模块中的属性,以便测试它们。而且我知道我们可以用模拟函数来替代,以便做到这一点。猴子补丁不能正常工作
目前我试图运行本质上下面的代码块。
from src.module.submodule import *
def mock_function(parameter = None):
return 0
def test_function_works(monkeypatch):
monkeypatch.setattr("src.module.submodule.function",mock_function ]
assert function(parameter = None) == 0
当测试运行,而不是在mock_function
交换,它只是运行function
。请问有没有理由monkeypatch没有激活
我有猴子补丁运行成功与其他代码之前。所以我不明白为什么这不起作用。
这工作! TY –