首页 > 其他分享 >Unittest简介

Unittest简介

时间:2023-11-06 15:57:01浏览次数:24  
标签:TestSuite 简介 Unittest 用例 测试 执行 unittest

一、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不成立,则跳过执行")

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

 

标签:TestSuite,简介,Unittest,用例,测试,执行,unittest
From: https://www.cnblogs.com/lillian54321/p/17812870.html

相关文章

  • (一)Robot Framework 简介
    RobotFramework简介1.什么是RobotFramework由NokiaSiemensNetworks(诺基亚西门子)开发RobotFramework是一款基于python的功能自动化测试框架(平台)可以同时测试多种类型的客户端和接口。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)1.RobotFramework的特点......
  • 激光雷达简介
    激光雷达(Laserradar)又称为Lidar或者Ladar,是使用肉眼看不见的红外光实现的雷达技术。微波雷达,有ISM频段的5.8GHz和10.525GHz雷达,也有24GHz,60GHz,77GHz毫米波雷达,而激光雷达使用的是红外光,使用的不同波长的电磁波,决定了他们的特性和应用范围也不同。 https://mp.weixin.qq.com/s/......
  • 托管服务简介IHostedService接口 继承 BackgroundSerice接口
    1.场景:代码运行在后台,比如服务器启动的时候在后台预先加载数据到缓存,每天凌晨3点把数据到处到数据库备份,每隔5秒在两张表之间同步一次数据;2.托管服务实现IHoutedService接口,一般编写从BackgroundService继承的类;测试:延迟若干秒读取文件,在延迟,在输出;3.service.AddHostedServ......
  • 无涯教程-批处理 - 简介
    批处理文件(英语:Batchfile),又称批次档,在DOS、OS/2、微软视窗系统中,是一种用来当成脚本语言运作程序的文件。它本身是文本文件,其中包含了一系列让具备命令行界面的解释器读取并运行的指令。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的解释器(通常是COMMAND.COM或者CMD......
  • sacla简介与环境配置
    简介Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言......
  • SpringMVC简介
    SpringMVC简介我们首先要了解MVC是什么MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如Student、User等一类称为业务处理Bean:指Service或Dao对象,专门用......
  • UE4中的C++编程简介
    对官方文档的学习链接利用UE创建一个C++基类在编辑器中可以选择父类,根据这个父类我们可以创建一个基类用于后续的蓝图类制作。以Actor父类为例创建基类,其头文件会包含一个构造函数,一个Tick函数的重载和一个BeginPlay函数的重载。BeginPlay函数告诉Actor以可运行状态进入了游戏......
  • 无涯教程-MongoDB - 简介
    MongoDB是一种面向文档的数据库管理系统,用C++等语言撰写而成,以解决应用程序开发社区中的大量现实问题。MongoDB由MongoDBInc.(当时是10gen团队)于2007年10月开发,2009年2月首度推出,现以服务器端公共许可(SSPL)分发。本教程适用于愿意通过简单的步骤学习MongoDB数据库的软件专业人员,它......
  • jar包的精细化运营,Java模块化简介 | 京东云技术团队
    图:模块化手机概念一、什么是Java模块化Java模块化(module)是Java9及以后版本引入的新特性。官方对模块的定义为:一个被命名的,代码和数据的自描述集合。(themodule,whichisanamed,self-describingcollectionofcodeanddata)。早在Java7的时候就被提出,但由于其复杂性,不断跳票,直......
  • 定制unittest测试报告
    基于HTMLTestRunner的定制版本非常多,我这几天手动定制了一款,除了有不错的颜值,还提供了一些非常实用的功能。安装github:https://github.com/SeldomQA/HTMLTestRunner>gitclonehttps://github.com/SeldomQA/HTMLTestRunner>cdHTMLTestRunner/>pythonsetup.pyinstall基本使......