W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Gerard Meszaros 在他的書《xUnit 測(cè)試模式》中列出了單元測(cè)試的四個(gè)階段:
建立基境(fixture)
執(zhí)行被測(cè)系統(tǒng)
驗(yàn)證結(jié)果
什么是基境(fixture)?
基境(fixture)是對(duì)開始執(zhí)行某個(gè)測(cè)試時(shí)應(yīng)用程序和數(shù)據(jù)庫(kù)所處初始狀態(tài)的描述。
對(duì)數(shù)據(jù)庫(kù)進(jìn)行測(cè)試至少要處理建立與拆除的步驟,在其中完成清理工作,并將所需的基境數(shù)據(jù)寫入表內(nèi)。因而,對(duì)于數(shù)據(jù)庫(kù)擴(kuò)展模塊而言,在數(shù)據(jù)庫(kù)測(cè)試中有很好的理由將這四個(gè)步驟還原成類似下面這樣的工作流程,這個(gè)流程對(duì)于每個(gè)測(cè)試都會(huì)完整執(zhí)行:
由于總是會(huì)有某個(gè)測(cè)試運(yùn)行在并不確定表中是否有數(shù)據(jù)的數(shù)據(jù)庫(kù)上,PHPUnit 在所有指定表上執(zhí)行 TRUNCATE 操作來把它們清空。
PHPUnit 隨后將迭代所有指定的基境數(shù)據(jù)行并將其插入到對(duì)應(yīng)的表里。
在所有數(shù)據(jù)庫(kù)都完成重置并加載好初始狀態(tài)后,PHPUnit 才會(huì)執(zhí)行實(shí)際的測(cè)試。這個(gè)部分的測(cè)試代碼完全不需要數(shù)據(jù)庫(kù)擴(kuò)展模塊的參與,可以隨意測(cè)試任何想要測(cè)試的內(nèi)容。
在測(cè)試中,驗(yàn)證的目的可以使用一個(gè)名為 assertDataSetsEqual()
的特殊斷言來實(shí)現(xiàn)。當(dāng)然,這完全是可選的。這個(gè)特性將在“數(shù)據(jù)庫(kù)斷言”一節(jié)中進(jìn)行解說。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: