Python Bir içe aktarılan modülden bir işlevi alay etmek

| | | | | | | | | | |

İçe aktarılan bir modülden bir işlevi nasıl @patch yapacağımı anlamak istiyorum.

Şimdiye kadar bu noktadayım.

app/mocking.py:

app.my_module'den import get_user_name def test_method(): __name__ == "__main__" ise get_user_name() döndür: "Program Başlatılıyor... " test_method() 

app/my_module/__init__.py:

def get_user_name(): "Alay Edilmemiş Kullanıcı" döndür 

test/mock-test.py:

birim testi app.mocking'den içe aktar import test_method def mock_get_user(): return "Bu Aptalca Alay Edildi" @patch("app.my_module.get_user_name") class MockingTestTestCase(unittest.TestCase): def test_mock_stubs(self, mock_method): mock_method.return_value = "Bu Aptalca Alay Edildi") ret = test_method() self.assertEqual (ret, "Bu Aptalca Alay Edildi") if __name__ == "__main__": unittest.main() 

Bu, beklediğim gibi çalışmıyor. "Yamalı" modül, yalnızca alay edilmeyen get_user_name değerini döndürür. Test edilen bir ad alanına içe aktardığım diğer paketlerdeki yöntemlerle nasıl alay edebilirim?