用于单元测试(功能测试,类),用例的管理,用例的加载,用例的执行,测试报告的生成
2.组件1.TestCose: 定义测试使用
2.TestSuite: 测试套件,用于管理测试用例
3. Test.runner: 运行测试用例
-
TestLoader: 加载测试用例
-
Fixture: 相当于钩子,用户测试用例执行前后进行执行
1.导包
2.定义测试类,测试类必须继承unittext.TextCase; 测试用例就是方法, 方法名必须以text开头**
3.实例化测试套件: suite = unittext.TextSuite()
4.测试套件加载测试用例:
suite.addTest(模块名,类名(方法名)) ## 执行一条用例
suite.addTest(unittest.makeSuite(模块名,类名)) # 执行一个类或模块的用例
suite = unittest.TestLoader(),discover('路径','文件名+通配符')
-
运行测试套件 1. runner = unittest.TextTestRunner() 2. runner.run(suite)
操作步骤:
1.导包
2.创建测试类,写测试用例
3.加载用例
-
实例化一个测试套件用于加载测试用例, sutie = unittest.TestSuiite()
-
加载用例:
三种加载方式
4.执行测试用例
1. 借助一个runner对藏,runner = unittest.TextTestRunner()
-
runner对象调用run方法,传递测试套件(suite)[来执行
定义: Fixtrue 是一个概述,对应该测试用例环境的初始化和销毁是一个Fixtrue 以开发的角度去理解,Fixtrue就像是 Flask框架中的钩子,特定的方法,在测试用例执行的前后进行执行
Fixtrue 存在控制级别,不同的戒备决定执行的作用范围和时机
- 方法级别
- 类级别
- 模块级别
不同的方法级别
a方法级别(运行一次执行一次)
初始化(前置处理): def setUp(self) --> 首先自动执行
销毁(后置处理): def tearDOWN(self) --> 最后自动执行
运行于测试方法的始末,即: 运行一次测试方法就会运行一次 setUp和 tearDown
import unittest
class mytest(unittest.Testcase)
def setUp(self):
print('setUp前置执行')
def tearDown(self):
print('tearDown后置执行')
def test_1(self):
print('test_1')
def test_2(self):
print('test_2')
b类方法级别(每个类执行一次)
初始化(前置处理): @classmethod def setUpClass(cls) -- 首先自动执行
销毁(后置处理): @classmethod def tearDownClass(cls) -- 最后后置执行
运行于测试类的始末: 即: 每个测试类只会执行一次 setUpClass和 tearDownClass
import unittest
class mytest(unittest.TestCase):
@ classmethod
def setUpClasss(cls):
print('setUpClaass执行')
@ classmethod
def tearDownClasss(cls):
print('tearDownClaass执行')
def test_1(self):
print('test_1')
def test_2(self):
print('test_2')
c类方法级别(每个模块执行一次)
初始化(前置处理): def setUpModule() -- > 首先自动执行 销毁(后置处理): def tearDownModule() -- > 最后后置执行 运行于整个模块的始末,即: 整个模块只会执行一次setUpModule和tearDoenModule总结
-
必须继承 unittest,TestCase类, setUp,tearDown才是一个Fixtrue
-
setUp,tearDown: 如果一个 类中有多个测试用例,每执行一个测试用例之前调用一次setUp,之后会调用一次tearDown;
-
setUpClass,tearDownClass:如果一个类中有多个测试用例,执行所有测试 用例之前只会调用一次 setUpClass,之后只会调用一次 tearDownClass;
-
setUpModule,tearDownModule:只在 import 导入这个模块时会调用一次 setUpModule,模块使用完成之后会调用一次 tearDownModule;
-
setUpXXX:一般做初始化工作;
-
tearDownXXX:一般做结束工作;



