UnitTest 用法
功能
1.能组织多个用例去执行
2.提供丰富的断言方法
3.提供丰富的日志与测试结果
核心要素
1.TestCase
2.TestSuite
3.TextTestRunner
4.Fixture
用法
1.TestCase
import unittest
'''
类,方法必须以test开头
''' def add(a,b):
return a+b class TestCase01(unittest.TestCase):
def testcase_01(self):
print("testcase_01")
print(add(2,2))
self.assertEqual(3,add(2,2)) def testcase_02(self):
#alt +鼠标连选,一起修改
print("testcase_02") def testcase_03(self):
print("testcase_03")
print(add(3,2)) class TestCase02(unittest.TestCase):
def testcase_01(self):
print("TestCase02_testcase_01")def testcase_02(self):
print("TestCase02_testcase_02") def testcase_03(self):
print("TestCase02_testcase_03")if __name__=='__main__':
#用main来执行,多线程没有规律
unittest.main()
该文件可以执行单个测试用例,鼠标选中要执行的用例,右键,

也可以整个类一起执行,鼠标点中要执行的class,右键选择上图同样的按钮
还可以整个文件一起运行,利用main函数

2.TestSuite,3.TextTestRunner
挑选用例执行,最大范围是测试类
TextTestRunner执行测试用例
import unittest
#导入类
from unitTest.testcase import TestCase01, TestCase02 suite=unittest.TestSuite()
#添加测试用例:以测试用例类中的每一种方法为单位进行添加
suite.addTest(TestCase02("testcase_02")) #添加测试用例:以测试用例类为单位进行添加
suite.addTest(unittest.makeSuite(TestCase01))
#cltrl+d 复制粘贴 #利用TextTestRunner运行测试用例
runner=unittest.TextTestRunner()
runner.run(suite)
总结:
以测试用例类中的每一种方法为单位进行添加
suite.addTest(TestCase02("testcase_02"))
以测试用例类为单位进行添加
suite.addTest(unittest.makeSuite(TestCase01))
4、discover
挑选用例执行,可以选择python文件
import unittest #用例文件的路径 ./cases 路径,test*.py 执行操作的文件
discover = unittest.defaultTestLoader.discover("./cases",pattern='test*.py')
runner=unittest.TextTestRunner()
runner.run(discover)
5、断言
import unittest
'''
类,方法必须以test开头
''' def add(a,b):
return a+b class TestCase01(unittest.TestCase):
def testcase_01(self):
print("testcase_01")
print(add(2,2))
try:
self.assertEqual(4,add(1,2))
except AssertionError as e:
print("报错信息",e)
raise
UnitTest 用法的更多相关文章
- 常见的python的unittest用法
python的unittest好处是通过python脚本编写用例,每个用例可以单独调试初始化和清理动作,因为都是用例都是代码所以调试起来也很方便:它的缺点是得先学会python,难易程度见仁见智吧,对 ...
- python接口自动化(二十一)--unittest简介(详解)
简介 前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest.熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 T ...
- Tornado学习
为什么用Tornado? 异步编程原理 服务器同时要对许多客户端提供服务,他的性能至关重要.而服务器端的处理流程,只要遇到了I/O操作,往往需要长时间的等待. 屏幕快照 2018-10-31 上午 ...
- Pytest学习(三) - setup和teardown的使用
一.前言 从文章标题可以看出,就是初始化和释放的操作,根据我的java习惯来学习pytest,个人感觉没差太多,理解上也不是很难. 哦,对了,差点跑题了,这个框架是基于Python语言的,在学习的时候 ...
- 测试教程网.unittest教程.2. 基本用法
From: http://www.testclass.net/pyunit/basic_example/ 我们通过最简单的例子来看一下unittest的基本用法,下面的代码测试了3个python字符串 ...
- PyUnit (unittest) 的用法
PyUnit(unittest) 是 Python 自带的单元测试框架,用于编写和运行可重复的测试.PyUnit 是 xUnit 体系的一个成员,xUnit 是众多测试框架的总称,PyUnit 主要用 ...
- unittest 的用法
一.discover方法 discover方法可以根据标准加载用例,并将结果返回给测试套件(suite),start_dir:待测试的目录,pattern:测试用例文件名的匹配规. 如: start_ ...
- unittest框架概要
unittest是Python语言自带的单元测试框架,原名PyUnit. 认识unittest 在unittest框架中有4个重要概念:test fixture.test case.test suit ...
- unittest单元测试框架总结
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者 ...
随机推荐
- 用java实现一个ATM机系统(2.0版)
用java实现一个ATM机系统(2.0版) java实现银行ATM自助取款机,实现功能:用户登录.余额查询.存钱.取钱.转账.修改密码.退出系统. 文章目录 用java实现一个ATM机系统(2.0版) ...
- 一、部署监控服务器--安装LNMP环境
1.要求: 本案例要求部署-台Zabbix监控服务器, -台被监控主机,为进一步执行具体的监控任务做准备:1.安装LNMP环境2.源码安装Zabbix3.安装监控端主机,修改基本配置4.初始化Zabb ...
- android小技巧之点击两次退出活动
通常在主活动中可以设置连击退出程序,下面通过代码来实现这一功能: @Override//按两次back键退出public boolean onKeyDown(int keyCode, KeyEvent ...
- OpenResty高并发
在电商项目中所有的访问都是通过首页访问进去的,那么首页门户的访问频率会是非常高的,用我们专业术语来说就是并发量高,这时问题就来了,并发量高我们在做程序时就要保证首页的抗压能力强,而且还要保证抗压的同时 ...
- 聊聊IOC中依赖注入那些事 (Dependency inject)
What is Dependency injection 依赖注入定义为组件之间依赖关系由容器在运行期决定,形象的说即由容器动态的将某个依赖关系注入到组件之中在面向对象编程中,我们经常处理的问题就是解 ...
- 重新整理 .net core 实践篇————polly失败重试[三十四]
前言 简单整理一下polly 重试. 正文 在开发程序中一般都有一个重试帮助类,那么polly同样有这个功能. polly 组件包: polly 功能包 polly.Extensions.Http 专 ...
- excel判断数据是否存在另一列中
1.if(EXACT(A2,B2)=TRUE,"相同","不同"),A2,B2相同(字母区分大小写)则函数值true正确,反馈相同,反之返回不同.注:单元格值受 ...
- Vue 利用后端的数据字典和Map对象实现表格列字段动态转义的处理方案
1.前言 Vue中,使用el-table组件,经常遇到列字段转义的问题.常规处理方法有以下两种: 方法1:在模板中使用v-if,直接转义.如: <el-table-column label= ...
- 从 Vue parseHTML 来学习正则表达式
从 Vue parseHTML 所用正则来学习常用正则语法 Vue parseHTML 中所用的所有正则如下.常见正则规则可参见附录 1,Vue parseHTML 正则所用规则均可在其中找到定义. ...
- 探索颜色渐变绘制算法(基于Processing语言) 第一部分
突然间意识到连续变化的颜色在程序中是如何实现的这一问题.没错,就想有事找事,我会分好几部分慢慢探寻,其实笔者也不会,咱一起研究.ok,我们开始! 第一部分 初始部分就从官方案例来入手学习.官方给了三个 ...