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 বেশি ব্যবহার হয়
লোড হচ্ছে...
1. Unit Testing কী?
Unit Testing হলো কোডের ছোট ছোট অংশ আলাদাভাবে পরীক্ষা করার প্রক্রিয়া।
2. PyTest কেন জনপ্রিয়?
PyTest সহজ সিনট্যাক্স, powerful assertion ও plugin সাপোর্ট দেয়।
3. Test case কেন গুরুত্বপূর্ণ?
Test case কোডের বাগ কমায় এবং ভবিষ্যৎ পরিবর্তনের সময় confidence দেয়।