l

2014年10月14日 星期二

Test Double(7):Mock Object

Sep. 22 23:03~23:28

image

圖片來源在此

 

本系列最後一篇,將使用Mock Object來實作Test Stub與Test Spy。待測系統的介紹請參考〈Test Double(3):Dummy Object〉。

Mock Object的題目

先回憶一下系統的類別圖。

螢幕截圖 2014-09-22 22.08.45_thumb[1]

 

今天要練習的題目是「使用Mock產生假的ICommand與IAlert,測試Server.minitor()與IAlert.sendAlert()的互動」。也就是要做到如下所示類似在〈Test Double(5):Test Spy〉練習的效果,但是這次要採用Mock Object技術,不需要「老師傅手工打造」產生Test Stub與Test Spy。

螢幕截圖 2014-09-22 23.15.11

老師傅手工打造的版本,要準備改用Mock Object。

 

採用Mock Object

Teddy在範例中採用Mockito這個Mock Object Library,測試案例如下所示。網路上有很多介紹Mockito使用方法的文章,也有好幾本書可以參考,有興趣的鄉民們可自行覓食。

螢幕截圖 2014-09-22 23.10.28

 

執行結果當然是綠燈,測試案例通過。

螢幕截圖 2014-09-22 23.20.34

***

友藏內心獨白:Mock object library算是一種具備無中生有能力的技術。

沒有留言:

張貼留言