আমরা অজগর জন্য মক ব্যবহার করছি কিছুক্ষণের জন্য।
এখন, আমাদের একটি পরিস্থিতি রয়েছে যেখানে আমরা কোনও ফাংশনকে উপহাস করতে চাই
def foo(self, my_param):
#do something here, assign something to my_result
return my_result
সাধারণত, এটির উপহাস করার উপায়টি হ'ল (foo অবজেক্টের অংশ হিসাবে ধরে নেওয়া)
self.foo = MagicMock(return_value="mocked!")
এমনকি, যদি আমি ফো ()) কয়েকবার কল করি তবে আমি ব্যবহার করতে পারি
self.foo = MagicMock(side_effect=["mocked once", "mocked twice!"])
এখন, আমি এমন পরিস্থিতির মুখোমুখি হয়েছি যেখানে ইনপুট প্যারামিটারের একটি নির্দিষ্ট মান থাকলে আমি একটি স্থির মানটি ফিরিয়ে দিতে চাই। সুতরাং যদি "মাই_প্যারাম" "কিছু" এর সমান হয় তবে আমি "আমার_কুল_মোক" ফিরিয়ে দিতে চাই
এটি অজগরটির জন্য মকিতোতে উপলব্ধ বলে মনে হচ্ছে
when(dummy).foo("something").thenReturn("my_cool_mock")
আমি কীভাবে সাফল্যের সাথে মকের সাথে একই অর্জন করতে পারি তা অনুসন্ধান করছি?
কোন ধারনা?
monkeypatch
। মনকিপ্যাচটি "পরীক্ষার জন্য এই ফাংশনটি প্রতিস্থাপন করুন" এর জন্য আরও বেশি, যখন আপনি যখন ম্যাকটি ব্যবহার করেন তখন আপনি এটি পরীক্ষা করে দেখতে চান mock_calls
বা এটি কী বলা হয়েছিল সে সম্পর্কে দৃ about়তা জানাতে পারেন। উভয়ের জন্য একটি জায়গা রয়েছে এবং আমি প্রায়শই একটি প্রদত্ত পরীক্ষার ফাইলে বিভিন্ন সময়ে উভয়ই ব্যবহার করি।