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下载文件记录黑名单的实现代码
Oct 24 Python
Python实现将HTML转换成doc格式文件的方法示例
Nov 20 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
Django时区详解
Jul 24 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
Aug 16 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
Jan 04 Python
Python模块的定义,模块的导入,__name__用法实例分析
Jan 07 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
Python任务自动化工具tox使用教程
Mar 17 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 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
Cakephp 执行主要流程
2010/03/24 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
php微信开发之谷歌测距
2018/06/14 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
javascript 自定义事件初探
2009/08/21 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Python中的random()方法的使用介绍
2015/05/15 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
python 生成器协程运算实例
2017/09/04 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
Python 最大概率法进行汉语切分的方法
2018/12/14 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
什么是servlet
2012/05/08 面试题
正风肃纪剖析材料
2014/02/18 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
舞出我人生观后感
2015/06/16 职场文书
保护动物的宣传语
2015/07/13 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
nginx实现动静分离的方法示例
2021/11/07 Servers