Python单元测试及unittest框架⽤法实例解析例题取⽤登录模块:代码如下
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
  def test_username_nonentity(self):  #⽤户名不存在⽤例
  result=login_check('admininin','111222333')
  expect='⽤户名不存在'
  self.assertEqual(expect,result['msg'])  #反之,如果不通过输出结果如下图
注意
⼀个def⽅法就是⼀个测试⽤例
⽅法名就是⽤例的标题,⽤例⽅法名⼀定要已text_开头
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持我们。
时间:2020-07-09
django项目实例
Python单元测试框架unittest简明使⽤实例
测试步骤 1. 导⼊unittest模块 import unittest 2. 编写测试的类继承unittest.TestCase class Tester(unittest.TestCase) 3. 编写测试的⽅法必须以test开头 def test_add(self) def test_sub(self) 4.使⽤TestCase class提供的⽅法测试功能点 5.调⽤unittest.main()⽅法运⾏所有以test开头的⽅法 复制代码 代码如下: if __name__ == '__
Python unittest单元测试框架的使⽤
⼀.测试模型 下⾯这部分来⾃于某书籍资料,拿过来,按需参考⼀下: 测试模型 (1)线性测试 1.概念: 通过录制或编写对应应⽤程序的操作步骤产⽣的线性脚本.单纯的来模拟⽤户完整的操作场景.(操作,重复操作,数据)都混合在⼀起. 2.优点:每个脚本相对独⽴,且不产⽣其他依赖和调⽤.任何⼀个测试⽤例脚本拿出来都可以单独执⾏. 3.缺点:开发成本⾼,⽤例之间存在重复的操作.⽐如重复的⽤户登录和退出. 维护成本⾼,由于重复的操作,当重复的操作发⽣改变时,则需要逐⼀进⾏脚本的修改. 4.线性测试实例:⽤户
Python unittest单元测试框架实现参数化
当我们在使⽤TestNG时,发现它有⼀个⾮常好⽤的参数化功能.当你的测试⽤例有固定的参数和断⾔结果时,它可以相似⽤例的节省⽤例的个数. 例⼦如下: import stng.Assert.assertEquals; stng.annotations.DataProvider; import
Python unittest单元测试框架总结
什么是单元测试 单元测试是⽤来对⼀个模块.⼀个函数或者⼀个类来进⾏正确性检验的测试⼯作. ⽐如对于函数abs(),我们可以编写的测试⽤例为: (1)输⼊正数,⽐如1.1.2.0.99,期待返回值与输⼊相同 (2)输⼊复数,⽐如-1.-1.2.-0.99,期待返回值与输⼊相反 (3)输⼊0,期待返回0 (4)输⼊⾮数值类型,⽐如None.[].{}.期待抛出TypeError 把上⾯这些测试⽤例放到⼀个测试模块⾥,就是⼀个完整的单元测试 unittest⼯作原理unittest中最核⼼的四部分
Python Unittest⾃动化单元测试框架详解
本⽂实例为⼤家分享了Python Unittest⾃动化单元测试框架的具体代码,供⼤家参考,具体内容如下 1.python 测试框架(本⽂只涉及PyUnit) 参考地址 2.环境准备 ⾸先确定已经安装有Python,之后通过安装PyUnit,Python版本⽐较新的已经集成有PyUnit(PyUnit 提供了⼀个图形测试界⾯UnittestGUI.py) 参考:查看地址 3.代码实例 使⽤的IDE为 PyCharm,DEMO结构如图 1.简单地⼀个实例 #
Test002_Fail.py #
Python unittest单元测试框架及断⾔⽅法
1.单元测试的⼏个重要概念 (1)Test Case ⼀个Test Case实例是⼀个测试⽤例,完整的测试流程包括测试前准备环境的搭建(setUp).实现测试过程的代码(run).以及 测试后环境的还原(tearDown). (2)Test Suite Test Suite⽤来组装单个测试⽤例,可以将多个测试⽤例集合再⼀起来执⾏,通过addTest加载TestCase到TestSuit实例中. (3)Test Runner 执⾏测试,执⾏结果.unittest单元测试框架中,通过TextTest
Python单元测试框架unittest使⽤⽅法讲解
概述 1.测试脚⼿架(test fixture) 测试准备前要做的⼯作和测试执⾏完后要做的⼯作.包括setUp()和tearDown(). 2.测试案例(test case) 最⼩的测试单元. 3.测试套件(test suite) 测试案例的集合. 4.测试运⾏器(test runner) 测试执⾏的组件. 命令⾏接⼝ 可以⽤命令⾏运⾏测试模块,测试类以及测试⽅法. 复制代码 代码如下: python -m unittest test_module1 test_module2 python -m
详解python单元测试框架unittest
⼀:unittest是python⾃带的⼀个单元测试框架,类似于java的junit,基本结构是类似的. 基本⽤法如下:
1.⽤import unittest导⼊unittest模块2.定义⼀个继承⾃unittest.TestCase的测试⽤例类,如 class abcd(unittest.TestCase): 3.定义setUp和tearDown,这两个⽅法与junit相同,即如果定义了则会在每个测试case执⾏前先执⾏setUp⽅法,执⾏完毕后执⾏tearDown⽅法. 4.定义测试⽤例,
详解python调度框架APScheduler使⽤
最近在研究python调度框架APScheduler使⽤的路上,那么今天也算个学习笔记吧! # coding=utf-8 """ Demonstrates how to use the background scheduler to schedule a job that executes on 3 second intervals. """ from datetime import datetime import time import os
详解Python⽹络框架Django和Scrapy安装指南
Windows 上的Django安装 如今Python使⽤的范围越来越⼴,所以学会关于它⽐较⽕的⽹络框架⾮常有必要.要安装Django,⾸先要知道你电脑上的python是哪个版本的,⾄于如何安装python的解释器环境此处不做介绍,⽹上的教程很多. Django 是⼀个 Python Web 框架,因此需要在您的机器上安装 Python.本⽂是基于Python3.6的环境安装介绍的. 要查看你电脑上的python版本,使⽤以下指令: python --version 要安装django,还要安装
详解Python 定时框架 Apscheduler原理及安装过程
在我们的⽇常⼯作⾃动化测试当中,⼏乎超过⼀半的功能都需要利⽤定时的任务来推动触发,例如在我们项⽬中有⼀个定时监控模块,根据⾃⼰设置的频率定时跑测试⽤例,定时检测是否存在线上紧急任务等等,这些都涉及到了有关定时任务的问题,很多情况下,⼤多数⼈会选择window 的任务计划程序,但如果程序不在window平台下运⾏,就不能定时启动了:当然也可利⽤time模块的time.sleep()⽅法使程序休眠来达到定时任务的⽬的,但定时任务多了,代码可能看起来不太那么友好且有很⼤的局限性,因此,此时的 Apsch
详解Python之unittest单元测试代码
前⾔ 编写函数或者类时,还可以为其编写测试.通过测试,可确定代码⾯对各种输⼊都能够按要求的那样⼯作. 本次我将介绍如何使⽤Python模块unittest中的⼯具来测试代码. 测试函数 ⾸先我们先编写⼀个简单的函数,它接受姓.名.和中间名三个参数,并返回完整的姓名: names.py def get_fullname(firstname,lastname,middel=''): '''创建全名''' if middel: full_name = firstname + ' ' + middel
实例详解Python装饰器与闭包
闭包是Python装饰器的基础.要理解闭包,先要了解Python中的变量作⽤域规则. 变量作⽤域规则 ⾸先,在函数中是能访问全局变量的: >>> a = 'global var' >>> def foo(): print(a) >>> foo() global var 然后,在⼀个嵌套函数中,内层函数能够访问在外层函数中定义的局部变量: >>> def foo(): a = 'free var' def bar(): print(a)
详解Python 实现 ZeroMQ 的三种基本⼯作模式
简介 引⽤官⽅说法:ZMQ(以下 ZeroMQ 简称 ZMQ)是⼀个简单好⽤的传输层,像框架⼀样的⼀个 socket library,他使得 Socket 编程更加简单.简洁和性能更⾼. 是⼀个消息处理队列库,可在多个线程.内核和主机盒之间弹性伸缩. ZMQ 的明确⽬标是"成为标准⽹络协议栈的⼀部分,之后进⼊ Linux 内核".现在还未看到它们的成功.但是,它⽆疑是极具前景的.并且是⼈们更加需要的"传统" BSD 套接字之上的⼀ 层封装.ZMQ 让编写⾼性能⽹络应
详解python⾥使⽤正则表达式的分组命名⽅式
详解python⾥使⽤正则表达式的分组命名⽅式 分组匹配的模式,可以通过groups()来全部访问匹配的元组,也可以通过group()函数来按分组⽅式来访问,但是这⾥只能通过数字索引来访问,如果某⼀天产品经理需要修改需求,让你在它们之中添加⼀个分组,这样⼀来,就会导致匹配的数组的索引的变化,作为开发⼈员的你,必须得⼀⾏⼀⾏代码地修改.因此聪明的开发⼈员⼜想到⼀个好⽅法,把这些
分组进⾏命名,只需要对名称进⾏访问分组,不通过索引来访问了,就可以避免这个问题.那么怎么样来命名呢?可以采⽤(?P<nam

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。