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开发之list操作实例分析
Feb 22 Python
Python插件virtualenv搭建虚拟环境
Nov 20 Python
numpy中索引和切片详解
Dec 15 Python
python实现音乐下载的统计
Jun 20 Python
Python实现合并两个有序链表的方法示例
Jan 31 Python
django 使用全局搜索功能的实例详解
Jul 18 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
pytorch之添加BN的实现
Jan 06 Python
wxpython自定义下拉列表框过程图解
Feb 14 Python
python怎么调用自己的函数
Jul 01 Python
Python远程方法调用实现过程解析
Jul 28 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 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/06/21 PHP
php中引用符号(&amp;)的使用详解
2013/11/13 PHP
php中文验证码实现示例分享
2014/01/12 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
Django 反向生成url实例详解
2019/07/30 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
HTML5重塑Web世界它将如何改变互联网
2012/12/17 HTML / CSS
介绍一下grep命令的使用
2012/06/28 面试题
计算机专业优秀大学生自我总结
2014/01/21 职场文书
机电一体化应届生求职信范文
2014/01/24 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
遗嘱继承公证书
2014/04/09 职场文书
2015年社区综治工作总结
2015/04/21 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
php字符串倒叙
2021/04/01 PHP
Tomcat用户管理的优化配置详解
2022/03/31 Servers
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python