8. 數(shù)據(jù)庫測試

2018-02-23 16:23 更新

第 8 章?數(shù)據(jù)庫測試

在各種編程語言中,許多入門與中級的單元測試范例都暗示著這樣一種信息:很容易用簡單的測試來對應(yīng)用程序的邏輯進行測試。但是對于以數(shù)據(jù)庫為中心的應(yīng)用程序而言,這與現(xiàn)實相去甚遠。一旦開始使用諸如 Wordpress、TYPO3、或 Symfony(配合 Doctrine 或 Propel)之類的東西,就很容易在用 PHPUnit 時碰到超多問題:正是由于這些庫和數(shù)據(jù)庫之間實在耦合的太緊密了。

Note

請確保已經(jīng)安裝了 PHP 擴展模塊 pdo 和與數(shù)據(jù)庫對應(yīng)的特定擴展,比如 pdo_mysql。否則以下范例是無法運行的。

你大概會在日常工作面對的項目中經(jīng)歷這一幕。你打算把你那或生疏或純熟的 PHPUnit 技能用到工作中去,結(jié)果被以下問題之一卡住了:

  1. 待測方法執(zhí)行了一個相當大的 JOIN 操作,并且得到的數(shù)據(jù)用于計算某些重要的結(jié)果。

  2. 業(yè)務(wù)邏輯中混合執(zhí)行了 SELECT、INSERT、UPDATE 和 DELETE 語句。

  3. 為了給待測方法建立合理的初始數(shù)據(jù),需要在兩個以上(可能遠超過)表里設(shè)置測試數(shù)據(jù)。

DbUnit 擴展大大簡化了為測試設(shè)置數(shù)據(jù)庫的操作,并且可以在對數(shù)據(jù)執(zhí)行了一系列操作之后驗證數(shù)據(jù)庫的內(nèi)容。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號