✅ Unittest

Built-in Testing Framework

Python Unittest

Unittest is Python's built-in testing framework. No installation needed, inspired by JUnit.

💻 Basic Tests

import unittest

class TestCalculator(unittest.TestCase):
    def test_add(self):
        self.assertEqual(2 + 3, 5)
        self.assertEqual(-1 + 1, 0)
    
    def test_subtract(self):
        self.assertEqual(5 - 3, 2)
        self.assertNotEqual(10 - 3, 8)
    
    def test_exceptions(self):
        with self.assertRaises(ZeroDivisionError):
            result = 1 / 0

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

# Run: python test_file.py

🔧 Setup & Teardown

class TestDatabase(unittest.TestCase):
    def setUp(self):
        # Run before each test
        self.conn = create_connection()
    
    def tearDown(self):
        # Run after each test
        self.conn.close()
    
    def test_insert(self):
        self.conn.insert_data()
        self.assertTrue(self.conn.has_data())

# Common assertions
self.assertEqual(a, b)
self.assertNotEqual(a, b)
self.assertTrue(x)
self.assertFalse(x)
self.assertIn(item, list)
self.assertIsNone(x)

🎯 Key Takeaways