Python语言异常处理测试过程解析
2020-02-13 11:32
681 查看
这篇文章主要介绍了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异常处理try except过程解析
- Python基础(九)------错误异常处理及测试
- 用python写测试数据文件过程解析
- Python基础(十)------错误异常处理及测试
- 【python】错误/异常处理,调试,测试
- Python facenet进行人脸识别测试过程解析
- SpringBoot 2 统一异常处理过程解析
- 记一个奇怪的python异常处理过程
- 解析Python中的异常处理
- 14 python异常处理,调试,单元测试以及文档测试
- 【脚本语言系列】关于Python基础知识异常处理,你需要知道的事
- 【脚本语言系列】关于Python异常处理,你需要知道的事
- python异常处理之 traceback 解析示例
- Python内置数据类型list各方法的性能测试过程解析
- Python笔记之第九天--异常-测试-日期-随机数处理-小数格式
- [Python进阶-6]错误异常处理,断言assert,日志logging,单元测试,文档测试
- Python测试线程应用程序过程解析
- python处理RSTP视频流过程解析
- Java异常的产生过程解析和处理
- selenium+python 自动化测试,下载文件过程中出现对话框问题的处理