Unit Testing ও PyTest

🧪 Python Testing – Unit Testing ও PyTest (পূর্ণ গাইড)

একটি ভালো Python প্রোগ্রাম শুধু কাজ করলেই যথেষ্ট নয়, সেটি ভবিষ্যতেও ঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করাই হলো Testing। এই টিউটোরিয়ালে আমরা শিখবো Unit Testing এবং PyTest বিস্তারিতভাবে।


📌 Python Testing কী?

Python Testing হলো এমন একটি প্রক্রিয়া যেখানে আমরা কোড চালানোর আগেই বা পরে যাচাই করি—

  • কোড সঠিক আউটপুট দিচ্ছে কিনা
  • ভুল ইনপুট দিলে কী হচ্ছে
  • নতুন কোড পুরোনো কোড ভাঙছে কিনা

📌 Unit Testing কী?

Unit Testing মানে হলো প্রোগ্রামের সবচেয়ে ছোট অংশ (function বা method) আলাদা করে পরীক্ষা করা।

✔ উদাহরণ:

যদি একটি function যোগ করে, তাহলে আমরা শুধু সেটাই টেস্ট করবো — পুরো প্রোগ্রাম না।

📌 Python unittest Module

Python-এ বিল্ট-ইন unittest module আছে, যা দিয়ে সহজেই unit test লেখা যায়।

🧩 Example Function

def add(a, b):
    return a + b
  

🧪 Unit Test Code

import unittest
from main import add

class TestMath(unittest.TestCase):

    def test_add(self):
        self.assertEqual(add(2, 3), 5)
        self.assertEqual(add(-1, 1), 0)

if __name__ == "__main__":
    unittest.main()
  

📤 Output

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
  

🚀 PyTest কী?

PyTest হলো Python-এর সবচেয়ে জনপ্রিয় testing framework। এটি unittest থেকে সহজ, কম কোডে বেশি কাজ করে

  • ক্লাস দরকার নেই
  • Readable syntax
  • Powerful reporting
  • Fixtures সাপোর্ট

📦 PyTest Install

pip install pytest
  

🧪 PyTest Example

def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0
  

▶ PyTest Run Command

pytest
  

📤 PyTest Output

================= test session starts =================
collected 1 item

test_main.py .                                      [100%]

================== 1 passed in 0.01s ==================
  

⚖ unittest vs PyTest

বিষয় unittest PyTest
Syntax Verbose Simple
Class Required Yes No
Popularity Medium Very High

✨ Summary

  • Testing কোডের quality বাড়ায়
  • Unit Testing ছোট অংশ টেস্ট করে
  • unittest হলো built-in
  • PyTest হলো modern ও powerful
  • Production-level প্রজেক্টে PyTest বেশি ব্যবহার হয়
✅ একজন ভালো Python Developer হতে হলে Testing জানা বাধ্যতামূলক।
👼 Quiz
/

লোড হচ্ছে...

Interview Questions:

1. Unit Testing কী?

Unit Testing হলো কোডের ছোট ছোট অংশ আলাদাভাবে পরীক্ষা করার প্রক্রিয়া।

2. PyTest কেন জনপ্রিয়?

PyTest সহজ সিনট্যাক্স, powerful assertion ও plugin সাপোর্ট দেয়।

3. Test case কেন গুরুত্বপূর্ণ?

Test case কোডের বাগ কমায় এবং ভবিষ্যৎ পরিবর্তনের সময় confidence দেয়।