İç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?