Python单元测试及unittest框架用法实例解析


Posted in Python onJuly 09, 2020

例题取用登录模块:代码如下

def login_check(username,password):

  ''' 登录校验的函数
  :param username:账号
  :param password: 密码
  :return: '''

  if 6<=len(password)<=18:
    if username=='admin' and password=='123456':
      return {'code':0,'msg':'登录成功'}
    else:
      return {'code':1,'msg':'账号密码不正确'}

  else:
    return {'code':1,'msg':'密码长度在6-18之间'}

单元测试是什么:

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证
如何进行单元测试:

第一我们得写出测试用例,而测试用例主要的要素为(编号,标题,前置条件,操作步骤,预期结果,实际结果)

unittest框架核心的四个概念

1.TestCase:一个testcase的实例就是一个测试用例

2.TestSuite:多个测试用例集合在一起

3.TextTestRunner:用来执行测试用例

4.fifixture:测试用例环境的搭建和销毁,测试前环境的搭建(setUp),执行测试代码(run)以及测试后环境
的还原(tearDown)

登录测试用例标题如下等等:

1.用户名密码正确

2.用户名不存在

3. 密码小于6位

4. 密码大于18位

5. 用户名为空然后我们执行测试用例

import unittest      #引用单元测试模块
from day8.登录测试代码 import login_check  #将登陆模块代码引入
class Login_test(unittest.TestCase):
def setUp(self): 
  
print("执行用例前都会执行这个方法,类似前置条件")

def tearDown(self):
  
print("用例执行完后 都会执行该方法")

def test_login_success(self):  #登录成功用例
  
result=login_check('admin','123456')  #这个是实际结果
  
 expect='登录成功'          #这个是预期结果


 
  
self.assertEqual(result['msg'],expect)  #将实际结果和预期结果做比较,输出完全相同则通过 输出结果是OK

Python单元测试及unittest框架用法实例解析

def test_username_nonentity(self):   #用户名不存在用例
  
result=login_check('admininin','111222333')
  
expect='用户名不存在'
  
self.assertEqual(expect,result['msg'])  #反之,如果不通过输出结果如下图

Python单元测试及unittest框架用法实例解析

注意

一个def方法就是一个测试用例

方法名就是用例的标题,用例方法名一定要已text_开头

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python网页请求urllib2模块简单封装代码
Feb 07 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
Python运维开发之psutil库的使用详解
Oct 18 Python
Python爬取成语接龙类网站
Oct 19 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
解决Pycharm后台indexing导致不能run的问题
Jun 27 Python
Django 批量插入数据的实现方法
Jan 12 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
python des,aes,rsa加解密的实现
Jan 16 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 Python
Python 统计序列中元素的出现频度
Apr 26 Python
python 抓取知乎指定回答下视频的方法
Jul 09 #Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 #Python
Python Selenium模块安装使用教程详解
Jul 09 #Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 #Python
django模型类中,null=True,blank=True用法说明
Jul 09 #Python
Python pip安装第三方库实现过程解析
Jul 09 #Python
详细分析Python可变对象和不可变对象
Jul 09 #Python
You might like
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
JavaScript面向对象编程
2008/03/02 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
echarts饼图各个板块之间的空隙如何实现
2020/12/01 Javascript
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
初二生物教学反思
2014/02/03 职场文书
财务科科长岗位职责
2014/03/10 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
2014年党总支工作总结
2014/12/18 职场文书
雨花台导游词
2015/02/06 职场文书
酒店员工手册范本
2015/05/14 职场文书