Python Мокает функцию из импортированного модуля

| | | | | | | | | | |

Я хочу понять, как @patch выполнить функцию из импортированного модуля.

Вот где я до сих пор.

app/mocking.py:

из app.my_module import get_user_name def test_method(): вернуть get_user_name(), если __name__ == "__main__": напечатать "Запуск программы... " test_method() 

app/my_module/__init__.py:

def get_user_name(): вернуть "Разблокированный пользователь" 

test/mock-test.py:

импорт unittest из app.mocking import test_method def mock_get_user(): return "Издевался над этой глупостью" @patch("app.my_module.get_user_name") class MockingTestTestCase(unittest.TestCase): def test_mock_stubs(self, mock_method): mock_method.return_value = "Издевался над этой глупостью") ret = test_method() self.assertEqual (Ret, "Mocked This Silly") if __name__ == "__main__": unittest.main() 

Это не работает так, как я ожидал. «Исправленный» модуль просто возвращает незашифрованное значение get_user_name. Как смоделировать методы из других пакетов, которые я импортирую в тестируемое пространство имен?