首页 > 其他分享 >Web自动化测试13:掌握UnitTest框架的基本使用方法

Web自动化测试13:掌握UnitTest框架的基本使用方法

时间:2023-01-23 12:02:48浏览次数:54  
标签:Web 13 TestSuite UnitTest 测试用例 suite unittest TestLoader



文章目录

  • ​​学习目标​​
  • ​​一、UnitTest框架​​
  • ​​1.1 什么是框架​​
  • ​​1.2 什么是UnitTest框架​​
  • ​​1.3 为什么使用UnitTest框架​​
  • ​​1.4 UnitTest核心要素​​
  • ​​二、TestCase​​
  • ​​2.1 案例​​
  • ​​2.2 定义测试用例​​
  • ​​2.3执行测试用例​​
  • ​​三、TestSuite​​
  • ​​四、TextTestRunner​​
  • ​​五、TestLoader​​
  • ​​5.1 TestLoader与TestSuite区别​​
  • ​​总结​​

学习目标

我们web自动化的内容,一共分为七个模块。今天开始第三章的学习,UnitTest框架相关内容。如果你们还想回顾功能测试等等相关内容欢迎关注上方专栏!!!

本文学习目标:

掌握UnitTest框架的基本使用方法


一、UnitTest框架

1.1 什么是框架

说明:

  1. 框架英文单词framework
  2. 为解决一类事情的功能集合

1.2 什么是UnitTest框架

概念:UnitTest是Python自带的一个单元测试框架,用它来做单元测试。

1.3 为什么使用UnitTest框架

1.能够组织多个用例去执行
2.提供丰富的断言方法
3.能够生成测试报告

1.4 UnitTest核心要素

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

二、TestCase

说明:TestCase就是测试用例

2.1 案例

定义一个实现加法操作的函数,并对该函数进行测试

2.2 定义测试用例

1.导包:import unittest
2.定义测试类:新建测试类必须继承unittest.TestCase
3.定义测试方法:测试方法名称命名必须以test开头

2.3执行测试用例

方式一:
使用pycharm在代码上点击鼠标右键,选择使用UnitTest运行方式二:
调用 unittest.main() 来运行

思考:如何同时运行多个测试用例?

三、TestSuite

说明:(翻译:测试套件)多条测试用例集合在一起,就是一个TestSuite 使用:
1.实例化: suite = unittest.TestSuite()
(suite:为TestSuite实例化的名称)

2.添加用例:suite.addTest(ClassName(“MethodName”)) (ClassName:为类名;MethodName:为方法名)

3.添加扩展:suite.addTest(unittest.makeSuite(ClassName))
(搜索指定ClassName内test开头的方法并添加到测试套件中)

提示:TestSuite需要配合TestRunner才能被执行

四、TextTestRunner

说明:TextTestRunner是用来执行测试用例和测试套件的使用:
1.实例化: runner = unittest.TextTestRunner()

2.执行: runner.run(suite) # suite:为测试套件名称

需求:
将test01.py…test10.py共10条用例,将这10条用例批量执行;

问题:

1.使用suite.addtest(unittest.makeSuite(className))导入10条测试类
2…addtest()需要添加10次

五、TestLoader

说明:
用来加载TestCase到TestSuite中,即加载满足条件的测试用例,并把测试用例封装成测试套件。
使用unittest.TestLoader,通过该类下面的discover()方法自动搜索指定目录下指定开头的.py文件

并将查找到的测试用例组装到测试套件;

用法:
suite = unittest.TestLoader().discover(test_dir, pattern=‘test*.py’) 自动搜索指定目录下指定开头的.py文件,并将查找到的测试用例组装到测试套件test_dir: 为指定的测试用例的目录
pattern:为查找的.py文件的格式,默认为’test*.py’

也可以使用unittest.defaultTestLoader 代替 unittest.TestLoader()

运行:
runner = unittest.TextTestRunner() runner.run(suite)

5.1 TestLoader与TestSuite区别

1.TestSuite需要手动添加测试用例(可以添加测试类,也可以添加测试类中某个测试方法)
2.TestLoader搜索指定目录下指定开头.py文件,并添加测试类中的所有的测试方法,不能指定添加测试方法;

总结

1.UnitTest框架的作用?
2.如何定义测试用例?
3.如何执行测试用例?
4.如何使用TestSuite?
5.如何运行TestSuite?
6.如何使用TestLoader?
7.TestLoader与TestSuite的区别?


标签:Web,13,TestSuite,UnitTest,测试用例,suite,unittest,TestLoader
From: https://blog.51cto.com/u_8238263/6021838

相关文章

  • Web自动化测试11:Selenium之frame切换、多窗口切换
    文章目录​​学习目标​​​​一、frame切换​​​​1.1为什么要学习frame切换​​​​1.2frame切换方法​​​​1.3案例解决方案​​​​1.4frame切换-总结​​​​二......
  • Web自动化测试04:Selenium-XPath、CSS定位
    文章目录​​系列文章目录​​​​学习目标​​​​一、什么是XPath?​​​​二、XPath定位策略(方式)​​​​2.1路径定位(绝对路径、相对路径)​​​​2.2利用元素属性​​......
  • Web前端画布元素的技巧速成
    画布(canvas)是HTML5中新增加的一个非常重要的元素,使用它的API,我们可以通过绘制的方式实现图形、线条和文字的显示。1.   目标使用画布元素,快速绘制一个中小学教学使用的工......
  • Nginx+Keepalived实现web服务器高可用
    1、Nginx业务背景现公司需求快速搭建web服务器,对外提供给用户web服务。需求拆分需要基于http协议的软件,搭建服务实现介绍  常见用法:1)web服务器软件httpdhttp协议同类......
  • Solution 题解 UVA1389 Hard Life: 最小割,有向图,分数规划,和牛顿迭代
    题解UVA1389HardLife:最小割,有向图,分数规划,和牛顿迭代Preface黑题好耶看到了题解里面大多数是二分,我就来讲一讲简单又快速的DinkelbachAlgorithm吧!0-1分数规划......
  • javaweb基础知识梳理
    1、javaweb模型 java的代码是在内存里的,比如Array、LIst、Map这就意味着在这些容器中存储的数据都是临时的,重启java程序之后数据进入新的生命周期。这种程序也有,比如计......
  • ENGG1340 Computer Programming II
    课程内容笔记,自用,不涉及任何assignment,exam答案Notesforselfuse,notincludedanyassignmentsorexamsModule0主要介绍了几种远程登录CSdepartment主机的......
  • 17个面向Web 开发人员的杀手级网站,值得你收藏
    保持网站方便可能是最终的生产力技巧,以下是我用来让我的生活更轻松的一些最好的网站。让我们一起来看看它们。1、图片API地址:https://source.unsplash.com/世界上最强大的......
  • HTML5 WEB SQL 无法创建数据表的问题
    不知是什么原因,反复试,最后发现是数据表的某一列的字段用的是'check',把它改了后,就一切顺利了:无法创建数据表:db.transaction(function (tx) {       ......
  • ABB 800XA学习笔记32:AC 800M硬件13
    这一篇学习笔记我在新浪博客记录过,地址是ABB800XA学习笔记32:AC800M硬件13_来自金沙江的小鱼_新浪博客(sina.com.cn)在这里我再记录一次,以免丢失继续学习2.8与AC800M控......