У меня есть два файла Python:
функция.py:
def foo ():
return 20
def func ():
temp = foo()
return temp
и mocking.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: Нужна действительная цель для исправления. Вы предоставили: 'func'. Если я перемещаю func в mocking.py и вызываю foo: function.foo(), он работает правильно. Но как это сделать, если я не хочу перемещать функции из function.py в mocking.py?