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中的yield使用方法
Feb 11 Python
利用Python绘制数据的瀑布图的教程
Apr 07 Python
浅析Python中MySQLdb的事务处理功能
Sep 21 Python
Python按钮的响应事件详解
Mar 04 Python
python3使用matplotlib绘制条形图
Mar 25 Python
将python文件打包成EXE应用程序的方法
May 22 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
python matplotlib拟合直线的实现
Nov 19 Python
python flask中动态URL规则详解
Nov 22 Python
Django实现将一个字典传到前端显示出来
Apr 03 Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 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
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
图解javascript作用域链
2019/05/27 Javascript
[00:20]TI9观赛名额抽取Ⅱ
2019/07/24 DOTA
Python守护进程(daemon)代码实例
2015/03/06 Python
python数据处理实战(必看篇)
2017/06/11 Python
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
python有几个版本
2020/06/17 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
KIKO美国官网:意大利的平价彩妆品牌
2017/05/16 全球购物
25道Java面试题集合
2013/05/21 面试题
家长写给孩子的评语
2014/04/18 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
大学四年个人总结
2015/03/03 职场文书
军事博物馆观后感
2015/06/05 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
css3带你实现3D转换效果
2022/02/24 HTML / CSS