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实现简单的代理服务器
Jul 25 Python
Python之多线程爬虫抓取网页图片的示例代码
Jan 10 Python
Django基于ORM操作数据库的方法详解
Mar 27 Python
儿童编程python入门
May 08 Python
Tensorflow中的placeholder和feed_dict的使用
Jul 09 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
python 实现调用子文件下的模块方法
Dec 07 Python
Python编程深度学习绘图库之matplotlib
Dec 28 Python
Python 操作 ElasticSearch的完整代码
Aug 04 Python
python基础 range的用法解析
Aug 23 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
Jul 01 Python
如何更换python默认编辑器的背景色
Aug 10 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
PHP获取网站域名和地址的代码
2008/08/17 PHP
php把session写入数据库示例
2014/02/26 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
javascript获取url上某个参数的方法
2013/11/08 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
angularjs之$timeout指令详解
2017/06/13 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
详解python之简单主机批量管理工具
2017/01/27 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
最好的商品表达自己:Cafepress
2019/09/04 全球购物
革命先烈的英雄事迹材料
2014/02/15 职场文书
产品质量承诺书
2014/03/27 职场文书
小学班主任寄语大全
2014/04/04 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python