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中实现的RC4算法
Feb 14 Python
python实现的多线程端口扫描功能示例
Jan 21 Python
Python在图片中添加文字的两种方法
Apr 29 Python
python实现简单登陆流程的方法
Apr 22 Python
python requests爬取高德地图数据的实例
Nov 10 Python
Python3模拟curl发送post请求操作示例
May 03 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
python实现简单银行管理系统
Oct 25 Python
详解java调用python的几种用法(看这篇就够了)
Dec 10 Python
Python3中的tuple函数知识点讲解
Jan 03 Python
总结Python连接CS2000的详细步骤
Jun 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
示例详解Laravel重置密码代码重构
2016/08/10 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
详解python深浅拷贝区别
2019/06/24 Python
Django中的用户身份验证示例详解
2019/08/07 Python
详解Python3定时器任务代码
2019/09/23 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
python如何写出表白程序
2020/06/01 Python
小结Python的反射机制
2020/09/28 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
介绍一下Linux文件的记录形式
2012/04/18 面试题
大学生专科毕业生自我评价
2013/11/17 职场文书
三八妇女节活动主持词
2014/03/17 职场文书
软件售后服务方案
2014/05/29 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
民事赔偿协议书
2014/11/02 职场文书
债务追讨律师函
2015/06/24 职场文书