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获取远程文件大小的函数代码分享
May 13 Python
python操作oracle的完整教程分享
Jan 30 Python
python输出100以内的质数与合数实例代码
Jul 08 Python
python用post访问restful服务接口的方法
Dec 07 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
django最快程序开发流程详解
Jul 19 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
如何使用python写截屏小工具
Sep 29 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 Python
python代码实现扫码关注公众号登录的实战
Nov 01 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超级全局变量
2010/01/26 PHP
php调用新浪短链接API的方法
2014/11/08 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
Python下的twisted框架入门指引
2015/04/15 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
Python实现简单的语音识别系统
2017/12/13 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
详解pandas赋值失败问题解决
2020/11/29 Python
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
高中生自我鉴定范文
2013/10/30 职场文书
超市重阳节活动方案
2014/02/10 职场文书
剪彩仪式主持词
2014/03/19 职场文书
公司晚会策划方案
2014/05/17 职场文书
签约仪式策划方案
2014/06/02 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
医院科室评语
2015/01/04 职场文书
React中的Context应用场景分析
2021/06/11 Javascript