天天看點

《測試驅動資料庫開發》—第2章2.6節小結

**n style='letter-spacing:1px'>本節書摘來自異步社群《測試驅動資料庫開發》一書中的第2章2.6節小結,作者【美】max guernsey, iii,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

2.6 小結

測試驅動資料庫開發

測試執行時檢查特定對象的行為。存在可靠的執行個體化過程很有用處,因為它確定了一個特定類的所有對象都是相同的。這種關聯意味着如果測試了一個類的一個對象,就測試了這個類的所有對象,是以,看起來好像測試了這個類本身。

這就是資料庫開發真正不同于傳統的面向對象開發的第一點。對于存儲在記憶體中的對象,其類的構造方法可以用銷毀先前為該對象配置設定、在記憶體中的任何内容的方式,并遵循一個單一的、簡單的途徑來建構一個工作對象。

然而,當建構一個資料庫時,照顧到那些已經儲存在資料庫内的資料往往是很有必要的。是以,生成資料庫可以遵循兩條途徑:一條是更新資料庫,另一條是建構一個新的資料庫。這就是如今許多開發環境工作的方式,但這讓我們難以獲得真實的資料庫的類,是以,我們也難以進行資料庫的測試驅動開發。

解決的辦法是迫使每一個特定的類的資料庫遵循完全相同的建構途徑,進而消除建構新資料庫和更新現有資料庫之間的差別,即定義從一個版本過渡到下一個版本所需的步驟,将空資料庫當做過渡的第一步,并執行從一個版本過渡到另一個版本所必需的步驟。

按照上述方式建構資料庫後,用相似的方式來表達資料庫的設計:一系列增量的累積産生了資料庫的最新版本。當用上述方式定義資料庫後,開發人員就能輕易地確定每一次資料庫版本過渡的腳本以正确的順序被執行且僅被執行一次。

針對如何定義資料庫的設計,做出上述那一點變化,并編寫少量的自動化腳本;或者首先使用本書的配套代碼,就可以奠定一個基礎和可靠的資料庫的類,據此,開發人員就可以建立測試驅動資料庫開發。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。