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调用新浪微博API项目实践
Jul 28 Python
python获取指定网页上所有超链接的方法
Apr 04 Python
Python中的面向对象编程详解(下)
Apr 13 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
python中函数传参详解
Jul 03 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
kali中python版本的切换方法
Jul 11 Python
使用Python制作一个打字训练小工具
Oct 01 Python
Python中for后接else的语法使用
May 18 Python
Python 循环读取数据内存不足的解决方案
May 25 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版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python中使用不同编码读写txt文件详解
2015/05/28 Python
Python函数式编程
2017/07/20 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
Python WSGI的深入理解
2018/08/01 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
新学期红领巾广播稿
2014/01/14 职场文书
数学教学随笔感言
2014/02/17 职场文书
超市促销活动总结
2014/07/01 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
老乡会致辞
2015/07/28 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
react antd实现动态增减表单
2021/06/03 Javascript
Apache POI的基本使用详解
2021/11/07 Servers