কম্পিউটার

পাইথনে Unittest ব্যবহার করে ইউনিট টেস্টিং


এই টিউটোরিয়ালে, আমরা ইউনিট টেস্টিং সম্পর্কে শিখতে যাচ্ছি unitest ব্যবহার করে অন্তর্নির্মিত মডিউল। পরীক্ষা সফ্টওয়্যার উন্নয়নে একটি প্রধান ভূমিকা পালন করে। আপনি নিজেই প্রোডাকশনে যাওয়ার আগে সমস্যাগুলি জানতে পারবেন।

আমরা unittest নামের বিল্ট-ইন মডিউল ব্যবহার করে পাইথনে পরীক্ষার প্রাথমিক বিষয়গুলো শিখব। . আসুন টিউটোরিয়ালে ঝাঁপিয়ে পড়ি।

ইউনিট টেস্টিং কি?

আপনি একটি উদাহরণ হিসাবে লগইন সিস্টেম নিতে. লগইন ফর্মের প্রতিটি ক্ষেত্র একটি ইউনিট/কম্পোনেন্ট। এবং এই ইউনিট/কম্পোনেন্ট কার্যকারিতা পরীক্ষা করা ইউনিট টেস্টিং নামে পরিচিত

উদাহরণ

আসুন ইউনিটটেস্ট ফ্রেমওয়ার্কের মৌলিক কাঠামো দেখি।

# importing unittest moduleimport unittest# unittest সেই সমস্ত পদ্ধতি পরীক্ষা করবে যার নাম 'test'class SampleTest(unittest.TestCase) দিয়ে শুরু হয়:# রিটার্ন True বা False def test(self):self.asssertTrue(True)# চলমান testunittest.main()

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন৷

<পূর্ব>------------------------------------------------------------ ----------------------- 0.001sOK এ 1টি পরীক্ষা চালিয়েছে

2.পরীক্ষা স্ট্রিং পদ্ধতি

এখন, আমরা নমুনা পরীক্ষার ক্ষেত্রে বিভিন্ন স্ট্রিং পদ্ধতি পরীক্ষা করতে যাচ্ছি। মনে রাখবেন যে পদ্ধতির নাম অবশ্যই পরীক্ষা দিয়ে শুরু হবে

আসুন প্রতিটি পদ্ধতি সম্পর্কে সংক্ষিপ্ত ভূমিকা দেখি যা আমরা লিখতে যাচ্ছি।

  • পরীক্ষা_স্ট্রিং_সমতা

    • এই পদ্ধতিটি assertEqaul ব্যবহার করে দুটি স্ট্রিং সমান কিনা তা পরীক্ষা করে unittest.TestCase. এর পদ্ধতি

  • test_string_case

    • এই পদ্ধতিটি assertEqaul ব্যবহার করে দুটি স্ট্রিং কেস সমান কিনা তা পরীক্ষা করে unittest.TestCase. এর পদ্ধতি

  • test_is_string_upper

    • এই পদ্ধতিগুলি পরীক্ষা করে যে স্ট্রিং বড় হাতের মধ্যে আছে নাকি assertTrue ব্যবহার করছে না এবং মিথ্যা বলে unittest.TestCase এর পদ্ধতি .

উদাহরণ

# importing unittest moduleimport unittestclass TestingStringMethods(unittest.TestCase):# string equal def test_string_equality(self):# যদি উভয় আর্গুমেন্ট সমান হয় তাহলে এটি succes self.assertEqual('ttp' * 5, 'ttpttptptptptt' #কম্পিটিটিং দুই স্ট্রিং ডিফ test_string_case(self):# যদি উভয় আর্গুমেন্ট সমান হয় তবে এটি সফল হয় self.asserEqual('tutorialspoint'.upper(), 'TUTORIALSPOINT') # একটি স্ট্রিং উপরের কিনা তা পরীক্ষা করা হচ্ছে def test_is_string_upper(self):# ব্যবহৃত বিবৃতিটি সত্য নাকি মিথ্যা তা পরীক্ষা করতে # **assertTrue**-এর ভিতরে অভিব্যক্তির ফলাফল অবশ্যই সত্য হতে হবে পরীক্ষার ক্ষেত্রে পাস করতে # **assertFalse**-এর ভিতরে অভিব্যক্তির ফলাফল অবশ্যই মিথ্যা হতে হবে পরীক্ষার ক্ষেত্রে নিজে পাস করতে .assertTrue('TUTORIALSPOINT'.isupper()) self.assertFalse('TUTORIALSpoint'.isupper())# testsunittest.main()
চলছে

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে সমস্ত পরীক্ষার ক্ষেত্রে পাস হলে আপনি নিম্নলিখিত ফলাফল পাবেন৷

<পূর্ব>...--------------------------------------------------------- -------------------------- 0.001sOK এ 3টি পরীক্ষা চালানো হয়েছে৷

উদাহরণ

ব্যর্থ পরীক্ষার কেস আউটপুট দেখতে নিম্নলিখিত প্রোগ্রামটি চালান৷

# importing unittest moduleimport unittestclass TestingStringMethods(unittest.TestCase):# string equal def test_string_equality(self):# যদি উভয় আর্গুমেন্ট সমান হয় তাহলে এটি succes self.assertEqual('ttp' * 5, 'ttpttptptptptt' #কম্পিটিটিং দুই স্ট্রিং ডিফ test_string_case(self):# যদি উভয় আর্গুমেন্ট সমান হয় তবে এটি সফল হয় self.asserEqual('tutorialspoint'.upper(), 'TUTORIALSPOINT') # একটি স্ট্রিং উপরের কিনা তা পরীক্ষা করা হচ্ছে def test_is_string_upper(self):# ব্যবহৃত বিবৃতিটি সত্য নাকি মিথ্যা তা পরীক্ষা করতে # **assertTrue**-এর ভিতরে অভিব্যক্তির ফলাফল অবশ্যই সত্য হতে হবে পরীক্ষার ক্ষেত্রে পাস করতে # **assertFalse**-এর ভিতরে অভিব্যক্তির ফলাফল অবশ্যই মিথ্যা হতে হবে পরীক্ষার ক্ষেত্রে নিজে পাস করতে .assertTrue('TUTORIALSPOINt'.isupper()) self.assertFalse('TUTORIALSpoint'.isupper())# testsunittest.main()
চলছে

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

=====================================================================ব্যর্থ:test_is_string_upper (__main__.TestingString Methods)------------------- -------------------------------------------------- -ট্রেসব্যাক (সর্বশেষ কল শেষ):ফাইল "p:/Python Work/Stopwatch/practice.py", লাইন 21, test_is_string_upperself.assertTrue('TUTORIALSPOINt'.isupper())AssertionError:False is not true---- -------------------------------------------------- ----------------0.016s ব্যর্থ (ব্যর্থতা=1) এ 3টি পরীক্ষা চালিয়েছে

সমস্ত টেস্ট কেসগুলির মধ্যে একটি টেস্ট কেসও ব্যর্থ হলে আমরা বার্তা ফেলব৷

উপসংহার

টিউটোরিয়ালটিতে আপনার কোন সন্দেহ থাকলে, মন্তব্য বিভাগে উল্লেখ করুন।


  1. Unitest ব্যবহার করে পাইথন প্রোগ্রামে ইউনিট টেস্টিং

  2. Unitest ব্যবহার করে পাইথনে ইউনিট টেস্টিং

  3. পাইথন ব্যবহার করে Whatsapp?

  4. পাইথনে CX_Freeze ব্যবহার করা