欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

單元和文檔測(cè)試

1、單元測(cè)試

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

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

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

先創(chuàng)建一個(gè)類(lèi)文件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)行類(lèi)的單元測(cè)試,內(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ì)類(lèi)的單元測(cè)試:本質(zhì)上還是對(duì)方法的單元測(cè)試。

4、文檔測(cè)試

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

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

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

example:

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

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

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

相關(guān)文章

  • django drf框架中的user驗(yàn)證以及JWT拓展的介紹

    django drf框架中的user驗(yàn)證以及JWT拓展的介紹

    這篇文章主要介紹了django drf框架中的user驗(yàn)證以及JWT拓展的介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Appium自動(dòng)化測(cè)試實(shí)現(xiàn)九宮格解鎖

    Appium自動(dòng)化測(cè)試實(shí)現(xiàn)九宮格解鎖

    本文主要介紹了Appium自動(dòng)化測(cè)試實(shí)現(xiàn)九宮格解鎖,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Pycharm調(diào)試程序技巧小結(jié)

    Pycharm調(diào)試程序技巧小結(jié)

    這篇文章主要介紹了Pycharm調(diào)試程序技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python數(shù)據(jù)類(lèi)型轉(zhuǎn)換匯總

    Python數(shù)據(jù)類(lèi)型轉(zhuǎn)換匯總

    這篇文章主要給大家分享的是Python數(shù)據(jù)類(lèi)型轉(zhuǎn)換匯總,int,float相互轉(zhuǎn)換、int,string相互轉(zhuǎn)換、float,string相互轉(zhuǎn)換、string,list相互轉(zhuǎn)換等常見(jiàn)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • 淺談python已知元素,獲取元素索引(numpy,pandas)

    淺談python已知元素,獲取元素索引(numpy,pandas)

    今天小編就為大家分享一篇淺談python已知元素,獲取元素索引(numpy,pandas),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python利用MethodType綁定方法到類(lèi)示例代碼

    python利用MethodType綁定方法到類(lèi)示例代碼

    這篇文章主要給大家介紹了關(guān)于python利用MethodType綁定方法到類(lèi)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • 用Python實(shí)現(xiàn)數(shù)據(jù)篩選與匹配實(shí)例

    用Python實(shí)現(xiàn)數(shù)據(jù)篩選與匹配實(shí)例

    大家好,本篇文章主要講的是用Python實(shí)現(xiàn)數(shù)據(jù)篩選與匹配實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下
    2022-02-02
  • Python 超時(shí)請(qǐng)求或計(jì)算的處理方案

    Python 超時(shí)請(qǐng)求或計(jì)算的處理方案

    這篇文章主要介紹了Python 超時(shí)請(qǐng)求或計(jì)算的處理方案,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 在django中查詢(xún)獲取數(shù)據(jù),get, filter,all(),values()操作

    在django中查詢(xún)獲取數(shù)據(jù),get, filter,all(),values()操作

    這篇文章主要介紹了在django中查詢(xún)獲取數(shù)據(jù),get, filter,all(),values()操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • pytorch中torch.max和Tensor.view函數(shù)用法詳解

    pytorch中torch.max和Tensor.view函數(shù)用法詳解

    今天小編就為大家分享一篇pytorch中torch.max和Tensor.view函數(shù)用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01

最新評(píng)論