python unitest 测试运行器(Test Runner)
测试运行器(Test Runner)是unittest框架提供的执行测试用例的组件,用于自动运行测试用例并生成测试结果报告。它负责加载测试用例、执行测试用例,并提供测试结果的输出。
unittest框架提供了多种测试运行器,包括TextTestRunner、HTMLTestRunner、XMLTestRunner等。这些运行器可以根据不同的需求选择使用。
下面以TextTestRunner和HTMLTestRunner为例,说明如何使用这两种测试运行器:
-
TextTestRunner: TextTestRunner是unittest框架默认的测试运行器,它将测试结果以文本形式输出到控制台。
import unittest class MyTestCase(unittest.TestCase): def test_addition(self): self.assertEqual(2 + 2, 4) if __name__ == '__main__': unittest.main()
在上述示例中,使用unittest.main()来执行测试用例。默认情况下,使用TextTestRunner作为测试运行器,并在控制台输出测试结果。
- HTMLTestRunner: HTMLTestRunner是一个第三方库,它可以生成漂亮的HTML格式的测试结果报告。
import unittest from HTMLTestRunner import HTMLTestRunner class MyTestCase(unittest.TestCase): def test_addition(self): self.assertEqual(2 + 2, 4) if __name__ == '__main__': suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(MyTestCase)) with open('test_report.html', 'w') as f: runner = HTMLTestRunner(stream=f, title='Test Report', description='Test Results') runner.run(suite)
在上述示例中,首先创建一个TestSuite对象,将测试用例添加到TestSuite中。然后创建HTMLTestRunner对象,指定输出的HTML文件路径、报告标题和描述。最后使用runner.run()方法执行测试用例并生成HTML格式的测试结果报告。