Python Mockowanie funkcji z importowanego modułu

| | | | | | | | | | |

Chcę zrozumieć, jak @patch funkcję z zaimportowanego modułu.

To miejsce, w którym jestem do tej pory.

app/mocking.py:

z app.my_module import get_user_name def test_method(): return get_user_name() if __name__ == "__main__": print "Uruchamianie programu... " test_method() 

app/my_module/__init__.py:

def get_user_name(): return "Unmocked User" 

test/mock-test.py:

importuj test jednostkowy z app.mocking import test_method def mock_get_user(): return "Naśmiewa się z tego głupiego" @patch("app.my_module.get_user_name") class MockingTestTestCase(unittest.TestCase): def test_mock_stubs(self, mock_method): mock_method.return_value = "Naśmiewa się z tego głupiego") ret = test_method() self.assertEqual (ret, "Mocked This Silly") if __name__ == "__main__": unittest.main() 

To nie działa tak, jak bym się spodziewał. „Załatany” moduł po prostu zwraca niemocowaną wartość get_user_name. Jak mockować metody z innych pakietów, które importuję do testowanej przestrzeni nazw?