উত্তর:
ভাল প্রশ্ন!
আসলে, পাইথন 2.6 এ উভয় assertEqualএবং assertEqualsসুবিধার alias লেখা হয় failUnlessEqual। উত্স তাদের এইভাবে ঘোষণা করে:
# Synonyms for assertion methods
assertEqual = assertEquals = failUnlessEqual
ইন পাইথন 3 , আপনার বিন্দু, failUnlessEqualস্পষ্টভাবে অসমর্থিত হয়েছে। assertEqualsএই মন্তব্য বহন করে :-)
দৃser়তা পদ্ধতিতে প্রতিশব্দ
# বহুবচনগুলি অননুমোদিত। ব্যবহারকে নিরুৎসাহিত করার জন্য তাদের সেভাবে রাখুন।
# আরও যোগ করবেন না। অপসারণ না.
# এগুলিতে অবমূল্যায়ন চক্রের মধ্য দিয়ে যাওয়া অনেক লোককে বিরক্ত করবে।
সুতরাং, আপশটটি মনে হচ্ছে যে আপনি পাইথন ২.x এর জন্য যা পছন্দ করেন তা ব্যবহার করুন তবে assertEqualপাইথন ৩ এর দিকে ঝোঁক ।
একটি 3.3 আপডেট: 26.3.7.1.1 থেকে । অবহেলিত উপকরণ :
Reasonsতিহাসিক কারণে, কিছু টেস্টকেস পদ্ধতিতে এক বা একাধিক উপকরণ ছিল যা এখন হ্রাস করা হয়েছে। নিম্নলিখিত টেবিলটি তাদের হ্রাসপ্রাপ্ত উপাধিকার পাশাপাশি সঠিক নাম তালিকাভুক্ত করে:
Method Name | Deprecated alias | Deprecated alias
--------------+------------------+-----------------
assertEqual() | failUnlessEqual | assertEquals
...
পাইথন ৩.x-এর জন্য নয়, পাইথন ২. 2. কেও assertEqualsঅবজ্ঞা করা হয়েছে:
Method Name | Deprecated alias(es)
_________________________________________________________
assertEqual() | failUnlessEqual, assertEquals
আমি মনে করি এটি সামগ্রিক কোড প্রবাহকে শব্দার্থতভাবে প্রবাহিত করার জন্য "বনাম" "করণের একমাত্র স্পষ্ট উপায়" এর মধ্যে উত্তেজনা ছিল। ব্যক্তিগতভাবে আমি দেখতে পেয়েছি আমি পড়তে পছন্দ করি
failIf(some_condition)
উপর
assertFalse(some_condition)
তবে পছন্দ হয়েছে
assertEqual(a, b)
অন্য দুটির উপরে ( assertEquals(a, b)ব্যাকরণের আমার বোধকে বিরক্ত করে)।
"এটি করার একমাত্র সুস্পষ্ট উপায়" অগ্রাধিকার গ্রহণ করেছে taken
আমি http://docs.python.org/library/unittest.html- এ assertEquals এর কোনও উল্লেখ পাই না । তবে, আমি যখন টেস্টকেস আমদানি করি এবং তারপরে একটি "সহায়তা (টেস্টকেস)" করি, এটি তালিকাভুক্ত। আমি মনে করি এটি সুবিধার জন্য প্রতিশব্দ মাত্র।
এটি প্রায় একইরকম বাদে যে assertEquals পুনরায় সংকলন করা হয়। এটি এখানে হিসাবে assertEqual ব্যবহার করার পরামর্শ দেওয়া হয়:
# Synonyms for assertion methods
# The plurals are undocumented. Keep them that way to discourage use.
# Do not add more. Do not remove.
# Going through a deprecation cycle on these would annoy many people.
assertEquals = assertEqual
অনলাইন উত্স: https://github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Lib/lib2to3/fixes/fix_asserts.py
assertEquals। তবু ব্যাকরণগতভাবে, সমান একটি ক্রিয়াপদের একক (তৃতীয় ব্যক্তি) রূপ, বহুবচন নয়। আমি মনে করি মন্তব্য-লেখকের অর্থ কী আপনি সঠিকভাবে বুঝতে পেরেছিলেন তবে 'বহুবচন' শব্দটি ভুল হয়েছে is