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跳出循环语句continue与break的区别
Aug 25 Python
python使用cPickle模块序列化实例
Sep 25 Python
Python 内置函数complex详解
Oct 23 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
tensorflow中next_batch的具体使用
Feb 02 Python
python负载均衡的简单实现方法
Feb 04 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
python 为什么说eval要慎用
Mar 26 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
Python实现井字棋小游戏
Mar 09 Python
如何理解python对象
Jun 21 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
关于COOKIE个数与大小的问题
2011/01/17 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
原生JS实现天气预报
2020/06/16 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
Python3字符串学习教程
2015/08/20 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
自学python用什么系统好
2020/06/23 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
高中校园广播稿
2014/01/11 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
艺术设计专业个人求职信
2014/04/10 职场文书
小学见习报告
2014/10/31 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书