Python基礎之單元和文件測試

2021-10-24 19:57:16 字數 3495 閱讀 7158

單元和文件測試

測試分類:

黑盒測試【要求最低】,白盒測試,灰盒測試

單元測試

單元測試就是用來對乙個模組、乙個函式或者乙個類來進行正確性的檢測工作。

1.若是單元測試通過,則證明測試的函式能夠正確的工作,

2.反之則證明要麼函式有bug要麼輸入不合法,總之我們需要修復我們的函式功能。

對函式進行單元測試
建立python檔案mathfunc.py,內容如下:

def

mysum

(x,y)

:return x + y

defmysub

(x,y)

return x -y

print

(mysum(1,

2))

建立python檔案的text01.py,內容如下:

import unittest

from mathfunc import mysum, mysub

#測試類 繼承自unittest.testcase

class

test

(unittest.testcase)

:#下面兩個方法存在的意義:假設需要連線資料庫,當測試完畢之後,需要斷開和資料庫的連線

defsetup

(self)

:print

("開始測試時自動呼叫"

)def

teardown

(self)

:print

("結束時自動呼叫"

)#測試相應的函式

#一般情況下,測試函式命名格式:text_需要被測試的函式名

deftest_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 - y

print

(mysub(1,

2))

再次執行text01.py檔案,會出現錯誤資訊。

對類進行單元測試
先建立乙個類檔案person.py,內容如下:

class

person

(object):

#構造方法

def__init__

(self, name, age)

:#給成員變數賦值

self.name = name

self.age = age

defgetage

(self)

:return self.age

建立text02.py檔案,進行類的單元測試,內容如下:

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函式有誤"

)if __name__ =

"__main__"

: unittest.mian(

)

演示,執行text02.py檔案,程式正常執行,修改person.py檔案中的內容,具體內容如下:

class

person

(object):

#構造方法

def__init__

(self, name, age)

:#給成員變數賦值

self.name = name

self.age = age

defgetage

(self)

:return self.age+

1

再次執行會報錯

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

文件測試
文件測試的作用:可以提取注釋找那個的**執行

doctest模組可以提取注釋中的**執行

doctest嚴格按照python的互動模式的輸入進行提取

import doctest

defmysum

(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 + y

print

(mysum(

1,2)

)#進行文件測試,在當前檔案中進行即可

doctest.testmod(

)

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

example:

print(mysum(1,2))

js基礎複習之DOM和文件載入

1.瀏覽器已經為我們提供 文件節點 物件這個物件是window屬性 可以在頁面中直接使用,文件節點代表的是整個網頁 獲取到button物件 var btn document.getelementbyid btn 修改按鈕的文字 btn.innerhtml i m button 2.瀏覽器在載入乙個頁...

Qt文件閱讀筆記 重現GUI事件進行單元測試

主要的邏輯是,儲存widget事件,然後在test中重放 如下,在私有槽函式中測試函式如果要加模擬,需要在後面新增 data class testgui public qobject 下面的 中,qtest addcolumn為新增列,第乙個為重現的事件,第二個為目標預期值,以及這個qtest ne...

python 單元測試 文件測試

以測試為驅動的開發模式最大的好處就是確保乙個程式模組的行為符合我們設計的測試用例。在將來修改的時候,可以極大程度地保證該模組行為仍然是正確的。栗子 mydict.py mydict.py class dict dict def init self,kw super init kw def getat...