單元和文件測試
測試分類:
黑盒測試【要求最低】,白盒測試,灰盒測試
單元測試
單元測試就是用來對乙個模組、乙個函式或者乙個類來進行正確性的檢測工作。對函式進行單元測試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...