Python测试框架unittest
Python测试框架unittest
一、unittest框架
(1)unittest特点
1、python自带的单元测试框架,不需要安装
2、用例执行互不干扰
3、提供不同范围的setUp和tearDown方法
4、提供断言方法
5、可通过discover批量执行所有模块的用例
6、可通过TestSuite灵活组织用例
(2)unittest的几大组成部分
1、TestCase:用例对象,编写测试用例需要继承该类,才拥有TestCase的属性和方法
2、TestSuite:测试集或测试套件,测试用例的集合,用来组织用例,支持嵌套
3、TestLoader:用例加载器,用于想TestSuite中添加用例
4、TextTestRunner:用例执行器,输出文本结果
二、用例编写
1、新建.py文件
2、导入unittest
3、编写Test开头(必须)的类,并继承unittest.TestCase作为测试类,一个模块或者一个接口新建一个类
4、在类中编写test_开头的方法,作为测试用例,一条测试用例新建一个方法
三、用例包裹方法
setUp()/tearDown():每个用例执行前/后执行一次
setUpClass()/tearDownClass():每个测试类加载时/结束时执行一次
四、用例组织及运行
1、新建TestSuite并添加测试用例
#coding=utf-8
import unittest
from test_user_login import TestUserLogin
suite=unittest.TestSuite()
suite.addTest(TestUserLogin('test_user_login_wrong'))
suite.addTest(TestUserLogin('test_user_login_normal'))
# suite.addTests([TestUserLogin('test_user_login_normal'),TestUserLogin('test_user_login_wrong')]) 添加多个用例
unittest.TextTestRunner(verbosity=2).run(suite) #运行顺序为添加到suite中的顺序
2、使用makeSuite
#coding=utf-8
import unittest
from test_user_login import TestUserLogin
suite=unittest.makeSuite(TestUserLogin,'test_user_login_normal') #使用测试类的单条用例制作测试集
#suite=unittest.makeSuite(TestUserLogin) #使用整个测试类制作测试集
unittest.TextTestRunner(verbosity=2).run(suite)
3、使用TestLoader(用例加载器)生成测试集
import unittest
from test_user_login import TestUserLogin
suite=unittest.TestLoader().loadTestsFromTestCase(TestUserLogin)
unittest.TextTestRunner(verbosity=2).run(suite)
4、使用discover(用例发现)遍历所有用例
import unittest
suite=unittest.defaultTestLoader.discover("./")
unittest.TextTestRunner(verbosity=2).run(suite)
5、测试集嵌套
import unittest
from test_user_login import TestUserLogin
suite1=unittest.TestSuite()
suite1.addTest(TestUserLogin('test_user_login_normal'))
suite2=unittest.makeSuite(TestUserLogin)
suite=unittest.TestSuite([suite1,suite2])
unittest.TextTestRunner(verbosity=2).run(suite)
Python测试框架unittest的更多相关文章
- <自动化测试>之<使用unittest Python测试框架进行参数化测试>
最近在看视频时,虫师简单提到了简化自动化测试脚本用例中的代码量,而python中本身的参数化方法用来测试很糟糕,他在实际操作中使用了parameterized参数化... 有兴趣就查了下使用的方法,来 ...
- 用 Python 测试框架简化测试
用 Python 测试框架简化测试 摘要:本文将向您介绍了三种流行 Python 测试框架(zope.testing,py.test,nose)的基本特性,并讨论新一代的测试风格. 最近出现了行业级的 ...
- Python单元测试框架unittest使用方法讲解
这篇文章主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测试套件方法等内容,需要的朋友可以参考下 概 ...
- 全功能Python测试框架:pytest
python通用测试框架大多数人用的是unittest+HTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest. imag ...
- Python单元测试框架unittest之深入学习
前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test c ...
- Python测试框架pytest入门基础
Pytest简介 Pytest is a mature full-featured Python testing tool that helps you write better programs.T ...
- 【转载】Python测试框架doctest
原文在这里 :Python测试框架doctest 先记录一下,直接复制粘贴后,排版是乱的,后续再弄.
- python 测试框架nose
python测试框架nose nose不是python自带模块,这里我才用pip的方式安装 pip install nose 这样就完成了安装,然后再确认下是否安装成功了,直接打开cmd输入noset ...
- [转]Python测试框架对比----unittest, pytest, nose, robot framework对比
测试框架 什么是框架? 框架(Framework)是整个或部分系统的可重用设计,框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求 ...
随机推荐
- Windows10系统下使用Docker搭建ClickHouse开发环境
前提 随着现在业务开展,几个业务系统的数据量开始急剧膨胀.之前使用了关系型数据库MySQL进行了一次数据仓库的建模,发现了数据量上来后,大量的JOIN操作在提高了云MySQL的配置后依然有点吃不消,加 ...
- Linux权限位(含特殊权限位s s t) 及chown\chmod命令使用
1.普通权限位 ls –l查看文件的属性 [root@oldboy ~]# ls -l -rw-------. 1 root root 1073 Mar 4 22:08 anaconda-ks.cfg ...
- deepin20 作为生产力安装体验
deepin 20安装使用体验,先看一下桌面吧! deepin介绍 简单介绍一下deepin吧,中文名称:深度操作系统,是由武汉深之度科技有限公司在Debian基础上开发的Linux操作系统,注意国内 ...
- Natapp内网穿透服务工具
在做微信开发的时候,调用微信接口成功之后,微信会回调我们事先配置好的一个接口.由于微信的服务是在外网的,所以这个回调接口也只能是外网,而且微信要求回调接口只能是通过ICP备案的域名,不能使用IP,所以 ...
- curl 超时问题解决
curl -o /dev/null -s -w %{time_namelookup}---%{time_connect}---%{time_starttransfer}---%{time_total} ...
- 使用pdfFactory为PDF文件设定查看选项
一般情况下,大部分PDF文件都会按照默认的查看设置,以100%的尺寸显示第一页的内容.但在一些特殊情况下,PDF文件的创建者会设定其他的文件查看尺寸,或设定打开页为第N页,来达到引起阅读者关注的目的. ...
- ThreadLocal以及强软弱虚引用
1.ThreadLocal ThreadLocal即线程本地,可以实现每个线程存入取出TreadLocal值互不影响.因为TheadLocal底层是用了一个Map结构存放数据,而这个Map是从当前这个 ...
- 15.java设计模式之访问者模式
基本需求: 电脑需要键盘鼠标等固定的组件组成 现在分为个人,组织等去买电脑,而同一种组件对不同的人(访问者)做出不同的折扣,从而电脑的价格也不一样 传统的解决方法:在组件内部进行判断访问人的类型,从而 ...
- 方格取数(number) 题解(dp)
题目链接 题目大意 给你n*m个方格,每个格子有对应的值 你从(1,1)出发到(n,m)每次只能往下往上往右,走过的点则不能走 求一条路线使得走过的路径的权值和最大 题目思路 如果只是简单的往下和往右 ...
- Django中ModelForm详解
1.ModelForm组件介绍:这个组件的功能就是把model和form组合起来 2.ModelForm的使用 1.首先需要导入ModelForm from django.forms import M ...