【发布时间】:2015-12-08 17:25:27
【问题描述】:
所以我正在运行 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。猴子补丁没有激活是否有原因
我之前用其他代码成功运行了猴子补丁。所以我不明白为什么这不起作用。
【问题讨论】:
标签: python unit-testing pytest monkeypatching