軟件測試之單元測試技能篇[2] 單元測試代碼
二、Mock技術
Mock是目前單元測試中最常用的。用來在對象層次上實現細類度替換十分方便。
當我們在測試中,需要其它類/接口的一個方法時,我們可以通過繼承/實現其一個子類對象來替換實際對象。在Mock子類中將需要的方法直接返回需要的結果就行了。
privateclass Mock_QueryCtrl extends QueryCtrl
{
public List queryNEList()
{
List neList = new ArrayList();
//直接填充并返回你需要的數據...
return neList;
}
}
同樣,我們也可以通過測試待測類的子類來測試待測類。這對于被測方法使用了自身類的方法時很適用。
三、依賴注入
單元測試的一個關鍵就是替換。類層次上的替換,通過在類路徑中提前加載就可以實現。而在對象層次上,java的反射機制提供了很好的幫助。
1).獲取/注入私有屬性
2).執行私有方法
附:注入私有屬性的實現:
publicvoid setFieldObject(Object instance, String fieldName, Object value)
throws IllegalArgumentException, IllegalAccessException,
NoSuchFieldException {
Field field = null;
Class c = instance.getClass(); 軟件測試
文章來源于領測軟件測試網 http://www.kjueaiud.com/