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 基础教程之Map使用方法
Jan 17 Python
Python正则抓取网易新闻的方法示例
Apr 21 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
Python Unittest自动化单元测试框架详解
Apr 04 Python
Python常见字典内建函数用法示例
May 14 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
Mar 05 Python
python word转pdf代码实例
Aug 16 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
Python Socketserver实现FTP文件上传下载代码实例
Mar 27 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
详解Java中一维、二维数组在内存中的结构
Feb 11 Python
Python 数据科学 Matplotlib图库详解
Jul 07 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
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
python标记语句块使用方法总结
2019/08/05 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
Python实现微信好友的数据分析
2019/12/16 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
办公室内勤岗位职责范本
2013/12/09 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL