unittest单元测试框架(python中自带单元框架)
一、unittst框架的作用
当我们写的用例越来越多时,我们就需要考虑用例编写的规范与组织,以便于后期的维护,而unittest正是这样一款工具
二、unittest是python自带的标准库中的模块,其中包括:
1、testcase类 (测试用例)
2、testsuite类 (测试套件)
3、testloader类(搜索测试路径)
4、texttestrunner类(run(test))
5、texttestresult类(测试结果)
6、testfixture类(setup 和 tear down)
解释下:
testcase:
一个testcase的实例就是一个测试用例,测试用例就是一个完整的测试流程,包括初始化setup、运行run、测试后的还原teardown
testsuite:
对一个功能的测试往往需要多个测试用例的,可以把多的测试用例集合在一起执行,这就是testsuite的概念。常用addtest()方法将一个测试用例添加到测试套件中
texttestrunner:
是用来执行测试用例的,其中的run(test)用来执行testsuite/testcase。
texttestresult:
测试的结果会保存在texttestresult实例中
testfixture:
测试准备前要做的工作和测试执行完后要做的工作.包括setup()和teardown()。通过覆盖testcase的setup和teardown来实现。
testloader:
是用来搜索所有以test开头的测试用例,然后将其加入到testsuite中
图形化解释:如下图
三、框架的组成
在写测试类以及测试用例时要规定一个命名习惯,一般测试类可以以test开头,也可以以test结尾。测试用例一般是以test开头。
eg:结构如下:
import unittest #导入unittest包
#创建测试类:从unittest.testcase继承
classromannumeralconvertertest(unittest.testcase):
def setup(self): #初始化测试环境
def teardown(self): #还原测试环境
def test_case(self):测试用例
====================================================
四、
讲解内容
(1)unittest作用?
unittest 单元测试框架 是用来管理和组织测试用例,方便后期维护
(2)市场常见的测试单元测试框架?
unittest (自带标准库) 、pytest (第三库)
(3)unitttest 单元测试框架结构
案例1:框架第一种方法:
类的开始
.....
方法开始
----------------------------------------------------------------------
1111
ran 5 tests in 0.000s
方法结束
ok
2222
3333
a
类的结束
备注:1、unittest 运行的顺序:1-9,大写字母,小写字母
2、运行用例必须是test开头
3、每一次用例执行,放的开始和结束都会执行一次
4、类的开始和类的结束只执行一次
============================================
案例2: 执行部分用例(指定的用例)
案例3:执行一个路径下所有所有用例
案例4:使用报告模板生成测试报告
案例5:结合实际案例编写ui自动化单元测试框架