pytest-mock补丁不能按预期工作。我的代码:
utils.py
def my_func():
return 42classes.py
from utils import my_func
class MyClass:
def class_method(self):
return my_func()test_classes.py
import pytest
from classes import MyClass
def test_myclass(mocker):
mocker.patch("utils.my_func", return_value=21)
assert MyClass().class_method() == 21如果失败,返回的是42而不是21。
发布于 2021-06-07 21:12:50
解决方案是更改测试中的修补程序。而不是
mocker.patch("utils.my_func", return_value=21)写
mocker.patch("classes.my_func", return_value=21)由于classes.py中的这一行:from .utils import my_func。
https://stackoverflow.com/questions/67872291
复制相似问题