Python Mock Patch для вложенной функции - PullRequest
0 голосов
/ 13 марта 2019

Вот моя структура приложения:

|-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 для проверки этой функции?

...