पायथन एक आयातित मॉड्यूल से एक समारोह का मजाक उड़ा रहा है

| | | | | | | | | | |

मैं यह समझना चाहता हूं कि किसी आयातित मॉड्यूल से किसी फ़ंक्शन को @patch कैसे किया जाता है।

यह वह जगह है जहां मैं अब तक हूं।

app/mocking.py:

app.my_module से आयात करें 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:

app.mocking import test_method def mock_get_user(): वापसी "इस मूर्खता का मजाक उड़ाया" @patch ("app.my_module.get_user_name") वर्ग MockingTestTestCase(unittest.TestCase): def test_mock_stubs(self, mock_method): mock_method.return_value = "इस मूर्खता का मजाक उड़ाया") ret = test_method() self.assertEqual (सेवानिवृत्त, "इस मूर्खता का मजाक उड़ाया") यदि __name__ == "__main__": Unittest.main() 

यह मेरी अपेक्षा के अनुरूप काम नहीं करता है। "पैच्ड" मॉड्यूल केवल get_user_name का अनमॉक्ड मान लौटाता है। मैं परीक्षण के तहत नामस्थान में आयात किए जा रहे अन्य पैकेजों के तरीकों का मजाक कैसे उड़ा सकता हूं?