Вот моя структура приложения:
|-project
|-app
|-main
|- init.py
|- ...
|- helpers.py
|-tests
|- test_helpers.py
helpers.py:
def foo1():
return bar
def foo2(arg):
bar = foo1()
# do some stuff
return bar
test_helpers.py:
import unittest
from app.main import helpers
import mock
class TestHelpers(TestCase):
@mock.patch('app.main.helpers.foo1')
def test_foo2(self, mocked_foo1_value):
mocked_foo1_value.return_value = 'some_value'
res = helpers.foo2('arg')
expected = 'some_value2')
self.assertEqual(res, expected)
Когда я запускаю этот тест,Я сталкиваюсь со следующей ошибкой AttributeError: 'Blueprint' object has no attribute 'helpers'
.
Я пытаюсь проверить foo2
и хочу установить патч foo1
, который вызывается внутри foo2
.Как я могу использовать Python mocking для проверки этой функции?