Python语言异常处理测试过程解析


Posted in Python onJanuary 08, 2020

这篇文章主要介绍了Python语言异常处理测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

(一)异常处理

1.捕获所有异常

try:
  x = 5 / 0
except:
  print('程序有错误')

2.捕获特定异常

try:
  x = 5 / 0
except ZeroDivisionError as e:
  print('不能为0',e)
except:
  print('其他错误')
else:
  print('没有错误')
finally:
  print('关闭资源')

3.手动抛出异常

def method():
raise NotImplementedError('该方法还未被实现')

(二)测试

使用Python自带的unittest模块

example 1:测试某个函数

import unittest
from example import get_formatted_name

class NameTestCase(unittest.TestCase):
  def test_title_name(self):
    formatted_name = get_formatted_name('tom','lee')
    self.assertEqual(formatted_name,'Tom Lee')
if __name__ == '__main__':
  unittest.main()

example 2:测试某个类

class Coder:
  def __init__(self,name):
    self.name = name
    self.skills = []

  def mastering_skill(self,skill):
    self.skills.append(skill)

  def show_skills(self):
    print('掌握技能:')
    for skill in self.skills:
      print('-',skill)
import unittest
from coder import Coder

class CoderTestCase(unittest.TestCase):
  def setUp(self):
    self.c = Coder('Tom')
    self.c.mastering_skill('Python')
    self.c.mastering_skill('Java')
    
  def test_skill_in(self):
    self.assertIn("Python",self.c.skills)
    
  def tearDown(self):
    print('销毁')

if __name__ == '__main__':
  unittest.main()

常用的断言方法:

import unittest

person ={'name':'Tom','age':30}
numbers = [1,23,3,4,4,54]
s = 'hello world python'


class TestAssert(unittest.TestCase):
  def test_assert_method(self):
    self.assertEqual('Tom',person.get('name'))
    self.assertTrue('hello' in s)
    self.assertIn('hello',s)
    #self.assertEqual(3.3,1.1+2.2)
    self.assertAlmostEqual(3.3,1.1+2.2)
    #判断在内存中是否是同一个引用
    self.assertIs(True+1,2)
    self.assertIsNone(None)
    #判断是否是某个类型的实例
    self.assertIsInstance(numbers[0],int)
    #是否大于
    self.assertGreater(5,4)
if __name__ == '__main__':
  unittest.main()

 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的迭代器与生成器高级用法解析
Jun 28 Python
用python实现的线程池实例代码
Jan 06 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
在python中使用xlrd获取合并单元格的方法
Dec 26 Python
python实现维吉尼亚算法
Mar 20 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
如何使用Python调整图像大小
Sep 26 Python
Python list和str互转的实现示例
Nov 16 Python
使用tkinter实现三子棋游戏
Feb 25 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 Python
Python实现列表拼接和去重的三种方式
Jul 02 Python
Pytorch在NLP中的简单应用详解
Jan 08 #Python
解析PyCharm Python运行权限问题
Jan 08 #Python
python读取ini配置的类封装代码实例
Jan 08 #Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 #Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 #Python
Pytorch DataLoader 变长数据处理方式
Jan 08 #Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 #Python
You might like
再说下636单管机
2021/03/02 无线电
PHP 可阅读随机字符串代码
2010/05/26 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
原生js实现验证码功能
2017/03/16 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
python自动化测试实例解析
2014/09/28 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
八年级数学教学反思
2014/01/31 职场文书
国培计划培训感言
2014/03/11 职场文书
户外活动策划方案
2014/03/12 职场文书
活动总结范文
2014/08/30 职场文书
个人承诺书格式范文
2015/04/29 职场文书
校车司机安全责任书
2015/05/11 职场文书
驳回起诉裁定书
2015/05/19 职场文书
活动简报范文
2015/07/22 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python