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()

原文地址:https://www.cnblogs.com/gdy1993/p/12154049.html

时间: 2024-10-29 11:20:15

Python语言之异常处理与测试的相关文章

关于《selenium2自动测试实战--基于Python语言》

关于本书的类型: 首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”. 对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位.高手读了会深有体会,豁然开朗.新手读了不止所云,甚至会说,都在扯犊子,看了半天也不知道如何下手. 对于操作手册的书,一般会提供大量的实例,告诉你详细的步骤.对于高手来说,这不就是翻译了一下官方文档嘛,好意思拿来骗钱.但对于新手来说,反而认为是好处,跟着上面的步骤操作就掌握了某种技术能力. 显然,本书属于后者,书中提供了大量代码实例,并没有太多思想层面

Python 语言搭建SELENIUM测试环境,搭建过程记录。

第一步,安装Python: 第二步,安装SetupTools: 第三步,安装Pip: 第四步,安装selenium(for python) 第五步,新建第一个基于Firefox的测试用例 上述 只是步骤,具体内容,明天补充,睡觉 咯--- Python 语言搭建SELENIUM测试环境,搭建过程记录.

Go语言之Go语言 异常处理与测试

Go 语言异常处理与测试 Go 语言异常处理 Go语言没有结构化异常,使用 panic 抛出错误,recover 捕获错误. 异常的使用场景简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理. panic: 1.内置函数 2.假如函数F中书写了panic语句,会终止其后要执行的代码,在panic所在函数F内如果存在要执行的defer函数列表,按照defer的逆序执行 3.返回函数F的调用者G,在G中,调用函数F语句之后的代码不会执行,假如

25 Python - 异常处理及测试

异常处理及测试 01常见错误类型 语法错误:SyntaxError 语义错误:如除以0 逻辑错误:重新分析过程排查 02异常处理 语法:try Except  用于捕获异常 else    都没有异常加一个else finally(最终都要执行的内容,如文件打开后需要关闭,或数据库需要释放资源) raise 自己抛出异常 03简单代码测试——测试方法 待测试函数 测试类 测试结果 成功 失败 04 代码测试——测试一个类 待测试类 较复杂的测试类方法——如果该类有很多属性,需要一个一个的输入 简

Python资料学习《疯狂Python讲义》+《教孩子学编程Python语言版》+《Python编程导论第2版》

适合初学者入门,适合Python就业,包含网络编程.数据分析.网络爬虫等大量企业实用的知识.建议学习<疯狂Python讲义>电子书和<教孩子学编程Python语言版>电子书,并进行配套的代码测试. <疯狂Python讲义>电子书适合初学者入门,适合Python就业,包含网络编程.数据分析.网络爬虫等大量企业实用的知识. <疯狂Python讲义>电子书第一部分系统讲解了Python的基本语法结构.Python的函数编程.Python的类和对象.模块和包.异常处

Python语言学习笔记

获得人生中的成功需要的专注与坚持不懈多过天才与机会.  ——C.W. Wendte Python将很快成为你最喜欢的编程语言! Qt库?  PyQt  Perl-Qt 简单易学,功能强大,高效率的高层数据结构,简单而有效地实现面向对象编程. Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发. 注重的是如何解决问题而不是编程语言的语法和结构. wxPython,Twisted,Boa Constru

广东海洋大学 电子1151 孔yanfei python语言程序设计 第三周

四.流程控制 在这块,Python与其它大多数语言有个非常不同的地方,Python语言使用缩进块来表示程序逻辑(其它大多数语言使用大括号等).例如: if age < 21: print("你不能买酒.") print("不过你能买口香糖.") print("这句话处于if语句块的外面.") 这个代码相当于c语言的: if (age < 21) { print("你不能买酒.") print("不过你能买

运用Python语言编写获取Linux基本系统信息(一):获得Linux版本、内核、当前时间

申请博客有一段时间了,然而到现在还一篇没有写过..... 主要因为没有想到需要写些什么,最近在学习Python语言,照着书上看了看最基础的东西,发现根本看不进去,而且光看的话今天看了觉得都理解懂了,过两天自己回顾这部分内容的时候发现就又忘了,于是自己就想到自己边学边写一些小程序,以便能更好的让自己记住语法. 一.开发环境以及测试环境 Python2.7.10.pycharm.VM虚拟机.CentOS6.3 二.代码实现 代码结构: commands.py —> os_info_in.py —>

Python语言介绍

本文章可以让我们快速了解 python 语言的历史,及以后发展状态,职业方向. 文章收录网上内容: http://www.cnblogs.com/lidong94/p/5478032.html (Python介绍) http://3060674.blog.51cto.com/3050674/1794776(Python职业分析与技能图谱) http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html (Python简史) http://