跳到主要內容

Mock Object Pattern

Mock字面上的意思就是膺品,也就是假貨。Mock Object是產生一個與原來class相同的物件。

用途是在Unit Test時,測待class可能有相依的元件,在不易使用或呼叫的情況下,使用Mock Object取代這些元件;例如Business Logic元件會呼叫DAO元件,在此時使用Mock Object可以省掉許多麻煩與時間,直接將值回傳,避免資料庫裏的資料與當初設定時不同。

範例:

原來class:
publci class Transaction
{ ... }
Mock Object class:
private class MockTransaction extends Transaction
{ ...}

Mock Object就這麼簡單,可以提昇Unit Test的效率。
但隨著系統的發展及變更,Mock Object會跟著越來 越多,反而造成Mock Object維護不易,因此聰明的程序員就想出用AOP來節省時間,最後開發出Mock Object工具。

參考資料:
Unit testing with mock objects
MockObjects.com
Java:
EasyMock
MockCreator
jMock
Virtual Mock Objects using AspectJ with JUNIT
.Net:
Mock Objects to the Rescue! Test Your .NET Code with NMock
NMock

留言

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!