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伪造HTTP报头的2个方法
Jul 07 Python
Python入门篇之函数
Oct 20 Python
Python简单计算文件夹大小的方法
Jul 14 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
python+opencv+caffe+摄像头做目标检测的实例代码
Aug 03 Python
Python设计模式之原型模式实例详解
Jan 18 Python
Python生成器的使用方法和示例代码
Mar 04 Python
纯python进行矩阵的相乘运算的方法示例
Jul 17 Python
windows、linux下打包Python3程序详细方法
Mar 17 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
Jan 08 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连接MySQL代码的参数说明
2008/06/07 PHP
php 分页原理详解
2009/08/21 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
php教程之phpize使用方法
2014/02/12 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
javascript 面向对象继承
2009/11/26 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
JS实现4位随机验证码
2020/10/19 Javascript
python下os模块强大的重命名方法renames详解
2017/03/07 Python
利用python如何处理nc数据详解
2018/05/23 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
django自定义模板标签过程解析
2019/12/14 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
Python实现井字棋小游戏
2020/03/09 Python
python打开文件的方式有哪些
2020/06/29 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
python中二分查找法的实现方法
2020/12/06 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
新大陆软件面试题
2016/11/24 面试题
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
简单的项目建议书模板
2014/03/12 职场文书
红头文件任命书范本
2014/06/05 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript