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搭建简易服务器分析与实现
Dec 15 Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
python中urllib.unquote乱码的原因与解决方法
Apr 24 Python
Python实现自动登录百度空间的方法
Jun 10 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
python获取文件真实链接的方法,针对于302返回码
May 14 Python
Python实现批量执行同目录下的py文件方法
Jan 11 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
numpy 声明空数组详解
Dec 05 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 Python
python查询MySQL将数据写入Excel
Oct 29 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
Feb 23 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
SONY SRF-40W电路分析
2021/03/02 无线电
中英文字符串翻转函数
2008/12/09 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
php object转数组示例
2014/01/15 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
隐性调用php程序的方法
2015/06/13 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
如何运行Python程序的方法
2013/04/21 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
十分钟利用Python制作属于你自己的个性logo
2018/05/07 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
解决Python中回文数和质数的问题
2019/11/24 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
项目合作计划书
2014/01/09 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
文秘应聘自荐书范文
2014/02/18 职场文书
晚归检讨书
2014/02/19 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
小学数学教学反思范文
2016/02/16 职场文书
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python