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 相关文章推荐
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
Python简单的制作图片验证码实例
May 31 Python
python通过微信发送邮件实现电脑关机
Jun 20 Python
Python使用pickle模块储存对象操作示例
Aug 15 Python
Python 限制线程的最大数量的方法(Semaphore)
Feb 22 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
Django框架 querySet功能解析
Sep 04 Python
Python爬虫实现模拟点击动态页面
Mar 05 Python
python3中sys.argv的实例用法
Apr 24 Python
学习Python需要哪些工具
Sep 04 Python
PyCharm最新激活码(2020/10/27全网最新)
Oct 27 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读取文件内容后清空文件示例代码
2014/03/18 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
Python中使用item()方法遍历字典的例子
2014/08/26 Python
教大家使用Python SqlAlchemy
2016/02/12 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
利用Python如何生成便签图片详解
2018/07/09 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
python的sys.path模块路径添加方式
2020/03/09 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
HTML5+CSS3应用详解
2014/02/24 HTML / CSS
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
手机配件第一品牌:ZAGG
2017/05/28 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
超市仓管员岗位职责
2014/04/07 职场文书
高三毕业寄语
2014/04/10 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书