我們通常在開發web應用過程中,展現層Action的單元測試經常被我們忽視了,主要原因是:
1、Action層的業務邏輯比較簡單。大家潛意識認為這一部分的代碼不重要。
2、Action層難以模擬http請求傳遞參數,需要依賴web容器,因此給單元測試編寫帶來一定的難度。
我寫了一個簡單的Action單元測試用例,供大家參考;趕truts的mock和webwork的ActionProxyFactory都可以進行Action的單元測試。我個人比較傾向與ActionProxyFactory做單元測試。其實寫action單元測試非常簡單,大致分為三步就可以完成單元測試:
一、設置ActionContext上下文參數
將表單傳遞的請求參數添加到map中
二、創建Action動態代理對象
通過public abstract ActionProxy createActionProxy(String namespace, String actionName, Map extraContext) throws Exception 創建action代理對象。
三、junit斷言執行結果
assertEquals(testAction.login(),”success”)
詳細用例參考:
public class TestActionTest extends BaseCaseTest{
private ActionProxy proxy = null;
private IVoucherService voucherService;
@Before
public void setUp() throws Exception {
IMocksControl control = EasyMock.createControl();
voucherService = control.createMock(IVoucherService.class);
文章來源于領測軟件測試網 http://www.kjueaiud.com/