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

Python單元和文檔測試實例詳解

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

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

單元和文檔測試

1、單元測試

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

2、對函數(shù)進行單元測試

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

運行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))

再次運行text01.py文件,會出現(xiàn)錯誤信息。

3、對類進行單元測試

先創(chuàng)建一個類文件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文件,進行類的單元測試,內(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()

演示,運行text02.py文件,程序正常運行,修改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

再次運行會報錯

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

4、文檔測試

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

import doctest
def mySum(x,y):
  #對函數(shù)進行功能和使用說明
  '''
  求兩個數(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))
#進行文檔測試,在當(dāng)前文件中進行即可
doctest.testmod()

注意:演示的時候,主要測試

example:

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

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

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

相關(guān)文章

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

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

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

    JAVA SWT事件四種寫法實例解析

    這篇文章主要介紹了JAVA SWT事件四種寫法實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    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矩陣乘法的實現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

凤冈县| 安国市| 霍城县| 秭归县| 潼关县| 郧西县| 平舆县| 庆阳市| 金昌市| 略阳县| 天长市| 岱山县| 金溪县| 繁昌县| 湖州市| 沂源县| 樟树市| 旬邑县| 东海县| 云安县| 胶南市| 汉阴县| 遵义县| 游戏| 延庆县| 平罗县| 郁南县| 女性| 县级市| 铜梁县| 鄂托克前旗| 新乐市| 乐都县| 涡阳县| 东明县| 富平县| 肃南| 吉首市| 德令哈市| 邯郸县| 五大连池市|