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

2018-02-23 16:23 更新

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

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

Note

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

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

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

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

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

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)