Organizing Tests into Test Suites
Why test suites?
Suites let you:
- group tests by feature
- run a subset for smoke/regression
- create custom runners
Example suite
suite_example.py
import unittest
class TestA(unittest.TestCase):
def test_one(self):
self.assertTrue(True)
class TestB(unittest.TestCase):
def test_two(self):
self.assertEqual(1 + 1, 2)
def load_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestA))
suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestB))
return suite
if __name__ == "__main__":
runner = unittest.TextTestRunner(verbosity=2)
runner.run(load_suite())suite_example.py
import unittest
class TestA(unittest.TestCase):
def test_one(self):
self.assertTrue(True)
class TestB(unittest.TestCase):
def test_two(self):
self.assertEqual(1 + 1, 2)
def load_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestA))
suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestB))
return suite
if __name__ == "__main__":
runner = unittest.TextTestRunner(verbosity=2)
runner.run(load_suite())Tip
In most modern codebases, you’ll rely on discovery.
Suites are most useful for curated runs.
If this helped you, consider buying me a coffee ☕
Buy me a coffeeWas this page helpful?
Let us know how we did
