數(shù)據(jù)庫測試的四個階段

2018-02-24 15:41 更新

數(shù)據(jù)庫測試的四個階段

Gerard Meszaros 在他的書《xUnit 測試模式》中列出了單元測試的四個階段:

  1. 建立基境(fixture)

  2. 執(zhí)行被測系統(tǒng)

  3. 驗證結(jié)果

  4. 拆除基境(fixture)

什么是基境(fixture)?

基境(fixture)是對開始執(zhí)行某個測試時應(yīng)用程序和數(shù)據(jù)庫所處初始狀態(tài)的描述。

對數(shù)據(jù)庫進(jìn)行測試至少要處理建立與拆除的步驟,在其中完成清理工作,并將所需的基境數(shù)據(jù)寫入表內(nèi)。因而,對于數(shù)據(jù)庫擴展模塊而言,在數(shù)據(jù)庫測試中有很好的理由將這四個步驟還原成類似下面這樣的工作流程,這個流程對于每個測試都會完整執(zhí)行:

1. 清理數(shù)據(jù)庫

由于總是會有某個測試運行在并不確定表中是否有數(shù)據(jù)的數(shù)據(jù)庫上,PHPUnit 在所有指定表上執(zhí)行 TRUNCATE 操作來把它們清空。

2. 建立基境

PHPUnit 隨后將迭代所有指定的基境數(shù)據(jù)行并將其插入到對應(yīng)的表里。

3–5. 運行測試、驗證結(jié)果、并拆除基境

在所有數(shù)據(jù)庫都完成重置并加載好初始狀態(tài)后,PHPUnit 才會執(zhí)行實際的測試。這個部分的測試代碼完全不需要數(shù)據(jù)庫擴展模塊的參與,可以隨意測試任何想要測試的內(nèi)容。

在測試中,驗證的目的可以使用一個名為 assertDataSetsEqual() 的特殊斷言來實現(xiàn)。當(dāng)然,這完全是可選的。這個特性將在“數(shù)據(jù)庫斷言”一節(jié)中進(jìn)行解說。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號