কম্পিউটার

ডক্টেস্ট মডিউল ব্যবহার করে পাইথনে পরীক্ষা করা হচ্ছে


আমরা ডকস্ট্রিং জানি পাইথনে ফাংশন এবং ক্লাস সম্পর্কে অতিরিক্ত তথ্য দেয়। এছাড়াও আমরা doctest ব্যবহার করে ফাংশন পরীক্ষার জন্য এটি ব্যবহার করতে পারি মডিউল ডক্টেস্ট মডিউলগুলি কোডটি চালায় যা>>> দিয়ে শুরু হয় এবং প্রত্যাশিত আউটপুটের সাথে তুলনা করে।

doctest দিয়ে একটি ফাংশন লিখতে নীচের ধাপগুলি অনুসরণ করুন৷

  • doctest আমদানি করুন৷ মডিউল।

  • ডকস্ট্রিং দিয়ে ফাংশনটি লিখুন। ডকস্ট্রিং-এর ভিতরে, একই ফাংশন পরীক্ষা করার জন্য নিম্নলিখিত দুটি লাইন লিখুন।

    • >>>function_name(*args)।

    • প্রত্যাশিত আউটপুট৷

  • ফাংশন কোড লিখুন।

  • এখন, পরীক্ষার জন্য doctest.testmod(name=function_name, verbose=True) ফাংশন কল করুন। আমরা পরীক্ষার ফলাফল দেখতে পাব না যদি ভার্বোজটি False এ সেট করা হয় এবং সমস্ত পরীক্ষা পাস করা হয়। এটি সত্য হিসাবে সেট করা ভাল৷

উদাহরণ

ডক্টেস্ট দিয়ে একটা সহজ ফাংশন লিখি।

# importing the moduleimport doctest# functiondef numbers_sum(*args) -> int:""" এই ফাংশনটি প্রত্যাশিত আউটপুট অনুসরণ করে ফাংশন ইনকোকিং পরীক্ষা করার জন্য সমস্ত আর্গুমেট শেল কমান্ডের যোগফল প্রদান করে:>>> numbers_sum(1, 2, 3, 4, 5) 15>>> numbers_sum(6, 7, 8) 21 """ ফেরত যোগফল(args)# invoking the testmod functiondoctest.testmod(name='numbers_sum', verbose=True)

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

চেষ্টা করা:numbers_sum(1, 2, 3, 4, 5)Expecting:15okTrying:numbers_sum(6, 7, 8)প্রত্যাশিত:21ok1 আইটেমের কোনো পরীক্ষা ছিল না:numbers_sum1 আইটেম সব পরীক্ষায় পাস করেছে:2 পরীক্ষা সংখ্যা_sum.numbers_2 পরীক্ষায় 2টি আইটেমে।2টি পাস করেছে এবং 0টি ব্যর্থ হয়েছে।পরীক্ষায় পাস করেছে।TestResults(failed=0, efforted=2)

আপনি যদি আউটপুট দেখেন, প্রতিটি পরীক্ষার পরে একটি শব্দ ঠিক আছে। এর মানে প্রত্যাশিত আউটপুট এবং প্রকৃত আউটপুট মিলেছে। আপনি আউটপুট শেষে পরীক্ষার ফলাফল পরীক্ষা করতে পারেন।

উদাহরণ

পরীক্ষায় ব্যর্থ হলে কী হয় তা দেখা যাক। ভুল আউটপুট দিয়ে একই উদাহরণ চালান।

# importing the moduleimport doctest# functiondef numbers_sum(*args) -> int:""" এই ফাংশনটি প্রত্যাশিত আউটপুট অনুসরণ করে ফাংশন ইনকোকিং পরীক্ষা করার জন্য সমস্ত আর্গুমেট শেল কমান্ডের যোগফল প্রদান করে:>>> numbers_sum(1, 2, 3, 4, 5) 10>>> numbers_sum(6, 7, 8) 23 """ ফেরত যোগফল(args)# invoking the testmod functiondoctest.testmod(name='numbers_sum', verbose=True)

আউটপুট

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

<পূর্ব>চেষ্টা করা হচ্ছে:সংখ্যা_সমষ্টি(1, 2, 3, 4, 5)প্রত্যাশিত:10****************************** ****************************************** ফাইল "__প্রধান__", লাইন 10, সংখ্যা_সমষ্টিতে .numbers_sum ব্যর্থ উদাহরণ:numbers_sum(1, 2, 3, 4, 5)প্রত্যাশিত:10Got:15Trying:numbers_sum(6, 7, 8)প্রত্যাশিত:23***************** ****************************************************** ***ফাইল "__main__", লাইন 12, numbers_sum.numbers_sum-এ ব্যর্থ উদাহরণ:numbers_sum(6, 7, 8)প্রত্যাশিত:23Got:211 আইটেমের কোনো পরীক্ষা নেই:numbers_sum************** ****************************************************** ******1টি আইটেম ব্যর্থ হয়েছে:2টির মধ্যে 2টি সংখ্যা_sum.numbers_sum2টি 2টি আইটেমের পরীক্ষায়।0টি পাস করেছে এবং 2টি ব্যর্থ হয়েছে।***পরীক্ষা ব্যর্থ হয়েছে**2টি ব্যর্থ হয়েছে।পরীক্ষার ফলাফল(ব্যর্থ=2, প্রচেষ্টা=2)

আপনি যদি পরীক্ষার ফলাফল দেখেন, 2 ব্যর্থ হয়েছে। এছাড়াও আপনি প্রত্যাশিত চেক করতে পারেন৷ এবং প্রকৃত আউটপুটে আউটপুট।

উপসংহার

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


  1. পাইথন pyqrcode মডিউল ব্যবহার করে QR কোড তৈরি করে?

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

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

  4. পাইথনে issubset() ফাংশন