আমি কীভাবে @patch
আমদানি করা মডিউল থেকে কোনও ফাংশন করব তা বুঝতে চাই ।
এই যে আমি এখন পর্যন্ত আছি।
অ্যাপ্লিকেশন / mocking.py:
from app.my_module import get_user_name
def test_method():
return get_user_name()
if __name__ == "__main__":
print "Starting Program..."
test_method()
অ্যাপ্লিকেশন / my_module / __ init__.py:
def get_user_name():
return "Unmocked User"
পরীক্ষা / mock-test.py:
import unittest
from app.mocking import test_method
def mock_get_user():
return "Mocked This Silly"
@patch('app.my_module.get_user_name')
class MockingTestTestCase(unittest.TestCase):
def test_mock_stubs(self, mock_method):
mock_method.return_value = 'Mocked This Silly')
ret = test_method()
self.assertEqual(ret, 'Mocked This Silly')
if __name__ == '__main__':
unittest.main()
আমি আশা করব এটি কাজ করে না । "প্যাচড" মডিউলটি কেবল আনমকড মানটি প্রদান করে get_user_name
। আমি অন্যান্য প্যাকেজগুলি যে পদ্ধতিতে পরীক্ষার অধীনে একটি নেমস্পেসে আমদানি করছি তা থেকে কীভাবে উপহাস করব?
Mock
মশকরা গ্রন্থাগার ব্যবহার করতে বলতে চাই , যা পাইথন 3.3 + হিসাবে অন্তর্ভুক্ত রয়েছেunittest.mock
।