Yes you can! Straight from the unittest documentation on organizing your test code
Assume you have a TestCase that looks like this guy:
import unittest
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget('The widget')
def tearDown(self):
self.widget.dispose()
self.widget = None
def test_default_size(self):
self.assertEqual(self.widget.size(), (50,50),
'incorrect default size')
def test_resize(self):
self.widget.resize(100,150)
self.assertEqual(self.widget.size(), (100,150),
'wrong size after resize')
Now you can do something like this in your TestSuite setup/run code:
def suite():
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase('test_default_size'))
suite.addTest(WidgetTestCase('test_resize'))
return suite
Obviously, you can use argparse to set your own options and customize the structure to your needs. Check out the documentation on the Organizing Your Test Code section. That example is just the most explicit one, there are plenty of other ways to test this cat.