香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

Python单元和文档测试实例详解


时间:2022-04-02 10:28 作者:admin610456


本文实例讲述了python/' target='_blank'>python单元和文档测试。分享给大家供大家参考,具体如下:

单元和文档测试

1、单元测试

单元测试就是用来对一个模块、一个函数或者一个类来进行正确性的检测工作。
1.若是单元测试通过,则证明测试的函数能够正确的工作,
2.反之则证明要么函数有bug要么输入不合法,总之我们需要修复我们的函数功能。

2、对函数进行单元测试

创建Python文件MathFunc.py,内容如下:

def mySum(x,y):  return x + ydef mySub(x,y)  return x -yprint(mySum(1,2))

创建python文件的text01.py,内容如下:

import unittestfrom MathFunc import mySum, mySub#测试类 继承自unittest.TestCaseclass Test(unittest.TestCase):  #下面两个方法存在的意义:假设需要连接数据库,当测试完毕之后,需要断开和数据库的连接  def setUp(self):    print("开始测试时自动调用")  def tearDown(self):    print("结束时自动调用")  #测试相应的函数  #一般情况下,测试函数命名格式:text_需要被测试的函数名  def test_mySum(self):    #断言:对函数命名格式:text_需要被测试的函数名    self.assertEqual(mySum(1,2),3,"加法有误")  def test_mySub(self):    self.asserEqual(mySub(2,1),1,"减法有误")#当主程序运行的时候,开始进行单元测试if __name__ == "__main__":  unittest.main()

运行text01.py文件,发现正常,然后修改MathFunc.py文件中的内容,可按照下面的方式修改。

def mySum(x,y):  return x + y + 1def mySub(x, y):  return x - yprint(mySub(1,2))

再次运行text01.py文件,会出现错误信息。

3、对类进行单元测试

先创建一个类文件person.py,内容如下:

class Person(object):  #构造方法  def __init__(self, name, age):    #给成员变量赋值    self.name = name    self.age = age  def getAge(self):    return self.age

创建text02.py文件,进行类的单元测试,内容如下:

import unittestfrom person import personclass Test(unittest.TestCase):  def test_init(self):    p = Person('hanmeimei',20)    self.asserEqual(p.name,"hanmeimei","属性值有误")  def test_getAge(self):    p = Person('hanmeimei',22)    self.assertEqual(p.getAge(),p.age,"getAge函数有误")if __name__ = "__main__":  unittest.mian()

演示,运行text02.py文件,程序正常运行,修改person.py文件中的内容,具体内容如下:

class Person(object):  #构造方法  def __init__(self, name, age):    #给成员变量赋值    self.name = name    self.age = age  def getAge(self):    return self.age+1

再次运行会报错

对类的单元测试:本质上还是对方法的单元测试。

4、文档测试

文档测试的作用:可以提取注释找那个的代码执行
doctest模块可以提取注释中的代码执行
doctest严格按照python的交互模式的输入进行提取

import doctestdef mySum(x,y):  #对函数进行功能和使用说明  '''  求两个数的和  get The sum from x and y  :param x:firstNum  :param y:secondNum  :return sum  #注意有空格  example:  >>> print(mySum(1,2))  3  '''  return x + yprint(mySum(1,2))#进行文档测试,在当前文件中进行即可doctest.testmod()

注意:演示的时候,主要测试

example:

>>> print(mySum(1,2))3

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)