无法使用补丁模拟 python 函数 return 值
Unable to mock a python function return value using patch
我有 2 个文件和一个测试文件。出于某种未知的原因,我无法让它通过。这个测试总是失败,因为它仍然 returns 'hello_world' 而不是使用 'goodbye_world'.
的模拟值
utils.py
def hello_world():
return "hello_world"
foo.py
from utils import hello_world
class Foo:
def function_a():
return hello_world()
test.py
import foo
from unittest.mock import patch
from unittest import TestCase
class TestStuff(TestCase):
@patch('foo.hello_world')
def test_hello_world(mock_value):
mock_value.return_value = 'goodbye_world'
temp = foo.Foo()
self.assertEqual(temp.function_a(), 'goodbye_world')
哦,我明白了。我应该从 src 目录打补丁。所以应该是'src.foo.hello_world'
我有 2 个文件和一个测试文件。出于某种未知的原因,我无法让它通过。这个测试总是失败,因为它仍然 returns 'hello_world' 而不是使用 'goodbye_world'.
的模拟值utils.py
def hello_world():
return "hello_world"
foo.py
from utils import hello_world
class Foo:
def function_a():
return hello_world()
test.py
import foo
from unittest.mock import patch
from unittest import TestCase
class TestStuff(TestCase):
@patch('foo.hello_world')
def test_hello_world(mock_value):
mock_value.return_value = 'goodbye_world'
temp = foo.Foo()
self.assertEqual(temp.function_a(), 'goodbye_world')
哦,我明白了。我应该从 src 目录打补丁。所以应该是'src.foo.hello_world'