亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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ù)庫,當測試完畢之后,需要斷開和數(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,"減法有誤")
#當主程序運行的時候,開始進行單元測試
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嚴格按照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))
#進行文檔測試,在當前文件中進行即可
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)文章

  • django drf框架中的user驗證以及JWT拓展的介紹

    django drf框架中的user驗證以及JWT拓展的介紹

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

    Appium自動化測試實現(xiàn)九宮格解鎖

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

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

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

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

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

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

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

    python利用MethodType綁定方法到類示例代碼

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

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

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

    Python 超時請求或計算的處理方案

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

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

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

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

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

最新評論