我有两个 python 文件:
函数.py:
def foo ():
return 20
def func ():
temp = foo()
return temp
和嘲笑.py:
from testing.function import *
import unittest
import mock
class Testing(unittest.TestCase):
def test_myTest(self):
with mock.patch('function.func') as FuncMock:
FuncMock.return_value = 'string'
self.assertEqual('string', func())
我想模拟 func,但没有积极的结果。我有 AssertionError: 'string' != 20。我应该怎么做才能正确模拟它?如果我做 mock.patch ('func') 我有 TypeError: Need a valid target to patch。你提供了:'func'。如果我将 func 移动到 mocking.py 并调用 foo: function.foo() 它可以正常工作。但是当我不想将函数从 function.py 移动到 mocking.py 时怎么办?