天天看點

使用Mock Object測試界面

       在編寫Swing界面的時候,發現運用Mock Object可以很容易的實作界面的測試。在編寫程式的時候,很多依賴外部的地方都要留個後門,不能硬寫在程式裡面,有的是做成setter,getter ,有的是将外部依賴提煉到一個方法中,在測試的時候,由子類來override。在實際程式設計中,使用的工具是Easy Mock,它是一個動态建構Mock Object的開軟API,使用它,能夠很友善的實作隔離的單元測試。在編寫界面的時候,所有依賴外部的程式都放在特定方法中,比如query()方法用來從背景查詢資料。那麼在單元測試中,使用Easy Mock生成的Mock Object替換query()方法,實作模拟的取資料的操作,這樣隻單獨的測試界面元素,脫離了外部依賴。但是這樣的測試是否值得,在實際項目開發中是否可行,還是一個問題,因為界面并沒有很多的邏輯,有時候很長一段代碼一個IF/ELSE都沒有,這樣沒有邏輯的代碼是否需要測試,或者是測試代碼測出來的效率高,還是運作起來看一眼效率高,這些問題都有待驗證。