【python实操】python小程序之TestSuite和TestRunner
引言
python小程序之TestSuite和TestRunner
文章目录
- 引言
 - 一、TestSuite&TestRunner
 - 1.1 概念
 - 1.1.1 TestSuite
 - 1.1.2 TestRunner
 
- 1.2 题目
 - 1.3 代码
 - 1.3.1 case1代码
 - 1.3.2 case2代码
 - 1.3.3 TestSuite和TestRunner代码
 
- 1.4 代码解释
 
- 二、思考
 - 2.1 TestSuite&TestRunner
 
一、TestSuite&TestRunner
1.1 概念
TestSuite 和 TestRunner 是 unittest 框架中的两个重要组件,它们允许更灵活地组织和运行测试
1.1.1 TestSuite
TestSuite 用于将多个测试用例组合在一起,形成一个测试套件。这样可以一次性运行一组相关的测试
1.1.2 TestRunner
TestRunner 负责执行测试套件,并生成测试报告。默认情况下,unittest 使用 TextTestRunner 来在控制台上显示结果
这种方式能够更细粒度地控制哪些测试被运行,以及如何运行这些测试。可以根据需要创建多个测试套件,并选择不同的测试运行器来获取不同的输出格式。例如,可以使用其他类型的 TestRunner(如 HTMLTestRunner)来生成 HTML 格式的测试报告
1.2 题目
如何
1.3 代码
1.3.1 case1代码
import unittestclass TestCase1(unittest.TestCase):def test_method1(self):print('这是case1的method1')def test_method2(self):print('这是case1的method2') 
1.3.2 case2代码
import unittestclass TestCase2(unittest.TestCase):def test_method1(self):print('这是case2的method1')def test_method2(self):print('这是case2的method2') 
1.3.3 TestSuite和TestRunner代码
import unittest
from testcase1 import TestCase1
from testcase2 import TestCase2suite = unittest.TestSuite()suite.addTest(TestCase1('test_method1'))
suite.addTest(TestCase1('test_method2'))
suite.addTest(TestCase2('test_method1'))
suite.addTest(TestCase2('test_method2'))runner = unittest.TextTestRunner()if __name__ == '__main__':result = runner.run(suite)
 
输出结果:
 
1.4 代码解释
代码展示了如何使用 unittest 框架中的 TestSuite 和 TextTestRunner 来组织和运行多个测试用例
-  
导入模块:
import unittest from testcase1 import TestCase1 from testcase2 import TestCase2unittest:这是 python 的单元测试框架,提供了编写和运行测试所需的所有功能testcase1和testcase2:假设这是两个不同的文件(模块),每个文件中定义了一个或多个测试类。这里从这两个文件中分别导入了TestCase1和TestCase2类
 -  
创建 TestSuite 对象:
suite = unittest.TestSuite()- 创建一个 
TestSuite对象suite,用于存储一组测试用例 
 - 创建一个 
 -  
添加测试方法到 TestSuite:
suite.addTest(TestCase1('test_method1')) suite.addTest(TestCase1('test_method2')) suite.addTest(TestCase2('test_method1')) suite.addTest(TestCase2('test_method2'))- 使用 
addTest方法将具体的测试方法添加到TestSuite中。这里添加了四个测试方法:TestCase1类中的test_method1TestCase1类中的test_method2TestCase2类中的test_method1TestCase2类中的test_method2
 
 - 使用 
 -  
创建 TextTestRunner 对象:
runner = unittest.TextTestRunner()- 创建一个 
TextTestRunner对象runner,它负责执行TestSuite中的测试,并在控制台上输出结果 
 - 创建一个 
 -  
运行测试套件:
if __name__ == '__main__':result = runner.run(suite)if __name__ == '__main__':确保当脚本作为主程序运行时才会执行下面的代码块runner.run(suite)调用run方法来执行TestSuite中的测试,并返回一个TestResult对象,该对象包含了测试的结果信息
 
二、思考
2.1 TestSuite&TestRunner
如果需要更详细的输出,可以在创建 TextTestRunner 时传递 verbosity=2 参数,例如:
runner = unittest.TextTestRunner(verbosity=2)
