最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python單元和文檔測試實(shí)例詳解

 更新時(shí)間:2019年04月11日 09:48:32   作者:微信1257309054  
這篇文章主要介紹了Python單元和文檔測試,結(jié)合實(shí)例形式分析了Python單元測試模塊unittest及文檔測試模塊doctest相關(guān)使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python單元和文檔測試。分享給大家供大家參考,具體如下:

單元和文檔測試

1、單元測試

單元測試就是用來對(duì)一個(gè)模塊、一個(gè)函數(shù)或者一個(gè)類來進(jìn)行正確性的檢測工作。
1.若是單元測試通過,則證明測試的函數(shù)能夠正確的工作,
2.反之則證明要么函數(shù)有bug要么輸入不合法,總之我們需要修復(fù)我們的函數(shù)功能。

2、對(duì)函數(shù)進(jìn)行單元測試

創(chuàng)建python文件MathFunc.py,內(nèi)容如下:

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

創(chuàng)建python文件的text01.py,內(nèi)容如下:

import unittest
from MathFunc import mySum, mySub
#測試類 繼承自u(píng)nittest.TestCase
class Test(unittest.TestCase):
  #下面兩個(gè)方法存在的意義:假設(shè)需要連接數(shù)據(jù)庫,當(dāng)測試完畢之后,需要斷開和數(shù)據(jù)庫的連接
  def setUp(self):
    print("開始測試時(shí)自動(dòng)調(diào)用")
  def tearDown(self):
    print("結(jié)束時(shí)自動(dòng)調(diào)用")
  #測試相應(yīng)的函數(shù)
  #一般情況下,測試函數(shù)命名格式:text_需要被測試的函數(shù)名
  def test_mySum(self):
    #斷言:對(duì)函數(shù)命名格式:text_需要被測試的函數(shù)名
    self.assertEqual(mySum(1,2),3,"加法有誤")
  def test_mySub(self):
    self.asserEqual(mySub(2,1),1,"減法有誤")
#當(dāng)主程序運(yùn)行的時(shí)候,開始進(jìn)行單元測試
if __name__ == "__main__":
  unittest.main()

運(yùn)行text01.py文件,發(fā)現(xiàn)正常,然后修改MathFunc.py文件中的內(nèi)容,可按照下面的方式修改。

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

再次運(yùn)行text01.py文件,會(huì)出現(xiàn)錯(cuò)誤信息。

3、對(duì)類進(jìn)行單元測試

先創(chuàng)建一個(gè)類文件person.py,內(nèi)容如下:

class Person(object):
  #構(gòu)造方法
  def __init__(self, name, age):
    #給成員變量賦值
    self.name = name
    self.age = age
  def getAge(self):
    return self.age

創(chuàng)建text02.py文件,進(jìn)行類的單元測試,內(nèi)容如下:

import unittest
from person import person
class 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函數(shù)有誤")
if __name__ = "__main__":
  unittest.mian()

演示,運(yùn)行text02.py文件,程序正常運(yùn)行,修改person.py文件中的內(nèi)容,具體內(nèi)容如下:

class Person(object):
  #構(gòu)造方法
  def __init__(self, name, age):
    #給成員變量賦值
    self.name = name
    self.age = age
  def getAge(self):
    return self.age+1

再次運(yùn)行會(huì)報(bào)錯(cuò)

對(duì)類的單元測試:本質(zhì)上還是對(duì)方法的單元測試。

4、文檔測試

文檔測試的作用:可以提取注釋找那個(gè)的代碼執(zhí)行
doctest模塊可以提取注釋中的代碼執(zhí)行
doctest嚴(yán)格按照python的交互模式的輸入進(jìn)行提取

import doctest
def mySum(x,y):
  #對(duì)函數(shù)進(jìn)行功能和使用說明
  '''
  求兩個(gè)數(shù)的和
  get The sum from x and y
  :param x:firstNum
  :param y:secondNum
  :return sum
  #注意有空格
  example:
  >>> print(mySum(1,2))
  3
  '''
  return x + y
print(mySum(1,2))
#進(jìn)行文檔測試,在當(dāng)前文件中進(jìn)行即可
doctest.testmod()

注意:演示的時(shí)候,主要測試

example:

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

關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python函數(shù)使用技巧總結(jié)》、《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python 面向?qū)ο笾庋b、繼承、多態(tài)操作實(shí)例分析

    Python 面向?qū)ο笾庋b、繼承、多態(tài)操作實(shí)例分析

    這篇文章主要介紹了Python 面向?qū)ο笾庋b、繼承、多態(tài)操作,結(jié)合實(shí)例形式分析了Python面相對(duì)象程序設(shè)計(jì)中封裝、繼承、多態(tài)相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • JAVA SWT事件四種寫法實(shí)例解析

    JAVA SWT事件四種寫法實(shí)例解析

    這篇文章主要介紹了JAVA SWT事件四種寫法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Matplotlib繪圖基礎(chǔ)之樣式表詳解

    Matplotlib繪圖基礎(chǔ)之樣式表詳解

    Matplotlib庫?由于誕生的比較早,所以其默認(rèn)的顯示樣式很難符合現(xiàn)在的審美,不過經(jīng)過版本更迭之后,現(xiàn)在?Matplotlib?已經(jīng)內(nèi)置了很多樣式表,下面我們就來看看這些樣式表的使用吧
    2023-08-08
  • pytorch矩陣乘法的實(shí)現(xiàn)

    pytorch矩陣乘法的實(shí)現(xiàn)

    本文主要介紹了pytorch矩陣乘法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Python進(jìn)階之自定義對(duì)象實(shí)現(xiàn)切片功能

    Python進(jìn)階之自定義對(duì)象實(shí)現(xiàn)切片功能

    這篇文章主要介紹了Python進(jìn)階之自定義對(duì)象實(shí)現(xiàn)切片功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Python爬蟲之Selenium實(shí)現(xiàn)窗口截圖

    Python爬蟲之Selenium實(shí)現(xiàn)窗口截圖

    這篇文章主要介紹了Python爬蟲之Selenium實(shí)現(xiàn)窗口截圖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • centos+nginx+uwsgi+Django實(shí)現(xiàn)IP+port訪問服務(wù)器

    centos+nginx+uwsgi+Django實(shí)現(xiàn)IP+port訪問服務(wù)器

    這篇文章主要介紹了centos+nginx+uwsgi+Django實(shí)現(xiàn)IP+port訪問服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • python 發(fā)送qq郵件的示例

    python 發(fā)送qq郵件的示例

    這篇文章主要介紹了python 發(fā)送qq郵件的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python判斷文件和字符串編碼類型的實(shí)例

    Python判斷文件和字符串編碼類型的實(shí)例

    下面小編就為大家分享一篇Python判斷文件和字符串編碼類型的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 6種將Python代碼打包成exe應(yīng)用的方式

    6種將Python代碼打包成exe應(yīng)用的方式

    這篇文章主要給大家介紹了關(guān)于6種將Python代碼打包成exe應(yīng)用的方式,對(duì)于很多python的初學(xué)者來說,很希望將自己用python寫的.py文件生成exe直接在電腦上運(yùn)行,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

墨江| 大关县| 富川| 四川省| 博湖县| 金川县| 资兴市| 鄂伦春自治旗| 岳池县| 临泉县| 梧州市| 杭锦后旗| 夏邑县| 玉树县| 安庆市| 竹溪县| 拉萨市| 南雄市| 玉田县| 张家川| 全南县| 岱山县| 武冈市| 剑阁县| 灵台县| 出国| 卢湾区| 开封县| 三门峡市| 自治县| 威信县| 衡山县| 连云港市| 方城县| 沅江市| 中牟县| 延津县| 道真| 漾濞| 浠水县| 巨鹿县|