用JMock進行單元測試 單元測試方法
不管是測試驅動開發或者是其它的開發模式,都會需要對代碼進行單元測試,對于關聯依賴關系少或者比較簡單的類來說,直接使用JUnit就可以輕松的完成測試工作,但是對于關聯到其它比較復雜的類或對運行環境有要求的類的單元測試,比如ejb,servlet或Dao等,測試起來或者需要配置特定的環境,或者十分耗時,給單元測試造成困難。在這里介紹使用JMock來模擬那些不需要測試的類,幫助完成有單元測試。
例如,有這樣兩個類,一個是Dao.Java,用于數據庫訪問成操作的,一個是Business.java,需要調用Dao進行業務處理。Dao.java是已經在有數據庫的環境測試通過的,現在需要測試Business.java。通常情況下,我們需要在測試環境配置好數據庫連接環境,并且需要準備數據后,才可以開始Business.java的測試,現在如果通過JMock就可以不配置數據庫環境,也可以完成測試。
JMock網站鏈接:http://www.jmock.org
//Dao.java
package com.raistlin.test.jmock
public class Dao
{
public Dao()
{
}
public List execute(String sql)
{
//數據庫操作...
}
}
//Business.java
package com.raistlin.test.jmock
public class Business
{
private Dao dao ;
public void setDao(Dao dao)