2013年3月19日 星期二

簡述TAC單元測試--使用mockito

http://mockito.org/ mock: n. 名詞 仿製品; 贗品; a. 形容詞 假的; 假裝的; 模擬的

 mockito 是一個 Java 的 mock 框架,可以在單元測試的時候協助我們依據介面,建立模擬物件,聚焦測試的重心。
舉例來說,一般JAVA常見的WEB系統架構中,會分成
jsp、controller、service、dao 幾個部分,而當我們進行測試時,總是程式都寫完之後,
才透過畫面來測試,這樣會造成
1.程式邏輯不一定都經過測試
2.重起server進行測試花費大量時間、
3.測試不易自動化
...等等問題,一般會使用單元測試框架 Junit 來進行測試,
使用spring framework的話,由於spring已經包含junit framework在其中,便可方便的加入單元測試。
透過spring的Ioc令程式間的耦合度低時,我們可以透過 mock 建立該介面的模擬物件。

在目前專案中,進行單元測試有兩種方法:
1.使用mock測試
2.使用DBUnit測試

以下將針對這兩項進行說明:
使用mock進行測試
1.建立需要mock的介面
2.實作mock介面
3.建立要測試的類別target
4.將需要注入target的類別進行注入(包含mock)
5.依據測試target中的邏輯,針對mock類別設計return的物件
6.呼叫target欲測試的method
7.建立assert驗證執行結果

使用DBunit進行測試
1.繼承AbstractTACCoreTests
2.設定dataset位置
3.建立要測試的類別target
4.將需要注入target的類別進行注入
6.呼叫target欲測試的method
7.建立assert驗證執行結果

沒有留言:

張貼留言