一、什么是Unittest框架
unittest是python自带的一个单元测试框架,不仅适用于单元测试,还可用于Web、Appium、接口自动化测试用例的开发与执行;此框架可以组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否执行通过,并生成测试结果。
二、Unittest框架原理
Unittest框架最核心的四个概念:
test case:测试用例
test suite:测试套件
test runner: 用来执行测试用例和测试套件,并返回测试用例的执行结果
TestLoader:批量执行测试用例
test fixure:测试夹具
三、unittest简介
Unittest是python内置的一个单元测试框架,主要用于自动化测试用例的开发与执行
使用如下:
1.导入unittest库
2.创建类继承TestCase类
3.以test开头的方法,就是实际执行的独立用例,必须要以test开头,因为是unittest中约定的
4.setUp()方法用于测试用例执行前的初始化工作,tearDown()方法用于用例执行完后的清理操作,这里用例指以test开头的方法,也就是每个test开头的方法执行前后都会调用这两个方法
5.assertEqual等是TestCase类断言的方法,实际就是简单的比较并抛出异常
6.main()方法提供了一个测试脚本的命令行接口,可以在脚本内直接运行
运行测试
1.使用命令行python -m unittest xxx脚本名
2.有unittest.main()就直接执行脚本
四、主要结构
整体结构:unittest库提供了Test Case, Test Suite, Test Runner, Test Fixture
Test Case:通过继承TestCase类,创建一个测试用例集,但这个测试用例集里面可能包含多个测试用例(或者测试步骤)即test开头的方法
Test Suite:把多个测试用例集合在一起来执行。可以通过addTest加载TestCase到Test Suite中,从而返回一个TestSuite实例。
Test Runner:Test Runner是一个用于执行和输出测试结果的组件,可以使用图形界面,文本界面,或者返回一个特殊的值的方式来表示测试执行