আমরা অজগর জন্য মক ব্যবহার করছি কিছুক্ষণের জন্য।
এখন, আমাদের একটি পরিস্থিতি রয়েছে যেখানে আমরা কোনও ফাংশনকে উপহাস করতে চাই
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়তা জানাতে পারেন। উভয়ের জন্য একটি জায়গা রয়েছে এবং আমি প্রায়শই একটি প্রদত্ত পরীক্ষার ফাইলে বিভিন্ন সময়ে উভয়ই ব্যবহার করি।