unittest框架提供了多种测试套件的使用方法,用于组织和执行测试用例。以下是一些常见的测试套件使用方法及其示例:
1. 使用unittest.TestSuite()创建测试套件,然后使用addTest()方法添加测试用例。
import unittest class MyTestCase(unittest.TestCase): def test_addition(self): self.assertEqual(2 + 2, 4) def test_subtraction(self): self.assertEqual(5 - 3, 2) suite = unittest.TestSuite() suite.addTest(MyTestCase('test_addition')) suite.addTest(MyTestCase('test_subtraction')) runner = unittest.TextTestRunner() runner.run(suite)
2. 使用unittest.TestLoader()的loadTestsFrom...()方法从模块、类或测试方法中加载测试用例,并将它们添加到测试套件中。
import unittest class MyTestCase(unittest.TestCase): def test_addition(self): self.assertEqual(2 + 2, 4) def test_subtraction(self): self.assertEqual(5 - 3, 2) loader = unittest.TestLoader() suite = unittest.TestSuite()
# 从模块加载测试用例
suite.addTests(loader.loadTestsFromModule(MyTestCase))
# 从类加载测试用例
suite.addTests(loader.loadTestsFromTestCase(MyTestCase))
# 从测试方法加载测试用例
suite.addTests(loader.loadTestsFromName('test_addition', MyTestCase))
runner = unittest.TextTestRunner()
runner.run(suite)
3. 使用unittest.TestSuite()的addTests()方法批量添加测试套件。
import unittest class MyTestCase1(unittest.TestCase): def test_addition(self): self.assertEqual(2 + 2, 4) class MyTestCase2(unittest.TestCase): def test_subtraction(self): self.assertEqual(5 - 3, 2) suite1 = unittest.TestLoader().loadTestsFromTestCase(MyTestCase1) suite2 = unittest.TestLoader().loadTestsFromTestCase(MyTestCase2) suite = unittest.TestSuite() suite.addTests([suite1, suite2]) runner = unittest.TextTestRunner() runner.run(suite)