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
- TestCase: Inherit from unittest.TestCase
- setUp/tearDown: Run before/after each test
- assert methods: assertEqual, assertTrue, etc.
- Built-in: No installation required
- Test discovery: python -m unittest discover