Unittest简介

发布时间 2023-11-06 15:49:10作者: 佳期如梦_Lillian

一、Unittest框架
Unittest框架:框架=测试模块+测试管理模块+测试统计模块,python的内置模块import unittest
Unittest框架四大组件:

  1. TestCase
  2. TestSuite
  3. TestRunner
  4. TestLoader

 

二、TestCase 测试用例
unittest中TestCase部分的规则
1、用例类必须继承Unittest.TestCase,并且以test开头

 

2、每条用例,都必须以test开头

3、用例执行的顺序按照ASCII
0-9 a-z A-Z 顺序来执行用例

unittest也可以通过命令运行
命令执行TestShopnc类下的所有用例: python -m unittest test_shopnc.TestShopnc

执行某一条用例: python -m unittest 用例文件名.用例类.用例名


三、TestSuite 测试套件 用例集 (把需要执行的用例汇总到一起)

 

四、TestLoader测试加载,对TestSuite功能的补充,用来组装TestCase

 

 

 

TestSuite和TestLoader的区别
共同点: 都是测试套件
不同点: 实现方式不同
(1) TestSuite需要手动添加测试用例 (可以添加测试类,也可以添加测试类中的某个测试方法)

(2) TestLoader搜索指定目录下指定开头的py文件,并添加测试类中的所有测试方法,不能指定添加某个测试方法


五、TestRunner 测试运行器 执行用例,把执行的结果输出给到用户

1.实例化:runner=unittest.TextTestRunner()

2.执行:runner.run(suite)   #suite:为测试套件名称
 
六、TestFixture 测试夹具 执行测试用例前的前置操作及后置操作

 

七、生成测试报告

TestRunner 测试运行器 执行用例,输出测试结果
1、unittest提供生产测试报告的模块 TextTestRunner 生成文本格式测试报告

2、常见的第三方库结合unittest生产html格式测试报告HtmITestRunner
官网下载HtmlTestRunner.py只能支持python2版本,支持Python 3,需要做修改
路径: python安装路径/Lib
3、BeatifulReport :pip install BeautifulReport

 七、装饰器

@unittest.skip("此用例暂时不启用”)

@unittest.skipIf(3>2,"条件为真;则跳过执行")

@unittest.skipUnless(2>3,"条件: 2>3不成立,则跳过执行")

可以用于方法,也可用于类