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