版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第第頁在軟件測試中單元測試之Action的測試在軟件測試中單元測試之Action的測試
發(fā)表于:2023-08-31來源::點(diǎn)擊數(shù):標(biāo)簽:軟件測試單元Actionaction
在軟件測試中單元測試之Action的測試Action的測試是比較辛苦的。因為它依賴與其他的環(huán)境(比如tomcat)。在我的印象中,基于struts的測試是很麻煩的,因為對于execute方法,你必須mock兩個對象進(jìn)去。還好?;赪ebwork的測試相對簡單些。下面讓我們
在軟件測試中單元測試之Action的測試
Action的測試是比較辛苦的。因為它依賴與其他的環(huán)境(比如tomcat)。
在我的印象中,基于struts的測試是很麻煩的,因為對于execute方法,你必須mock兩個對象進(jìn)去。
還好?;赪ebwork的測試相對簡單些。
下面讓我們來測試一個例子吧
java代碼
Accountaccount;
IAccountServiceaccountService;
publicvoidsetAccount(Accountaccount){
this.account=account;
}
publicvoidsetAccountService(IAccountServiceaccountService){
this.accountService=accountService;
}
publicStringregist()throwsException{
if(account==null){
account=newAccount();
returnINPUT;
}
if(!validForm(account))
returnINPUT;
try{
accountService.regist(account);
}catch(ObjectExistsExceptione){
e.printStackTrace();
returnINPUT;
}
returnSUCCESS;
}
privatebooleanvalidForm(Accounte){
if(e.getName()==null||e.getName().trim().equals(""))
returnfalse;
if(e.getPassword()==null||e.getPassword().trim().equals(""))
returnfalse;
returntrue;
}
有經(jīng)驗的程序員見到上面的代碼應(yīng)該就知道怎么測試了。
我們只需setAccount,跟setAccountService即可,
而Account本身來講就是是個po,所以可以自己new一個
AccountService則可以mock一個。真是太完美了,我太喜好mock,它總是給我驚喜
java代碼
packageorg.wuhua.action;
importjunit.framework.TestCase;
importorg.easymock.MockControl;
importorg.wuhua.exception.ObjectExistsException;
importorg.wuhua.model.Account;
importorg.wuhua.service.IAccountService;
importsms.king.AccountManager;
importcom.opensymphony.xwork.Action;
publicclassAccountActionTestextendsTestCase{
privateMockControlcontrol;
IAccountServiceaccountService;
protectedvoidsetUp()throwsException{
control=MockControl.createControl(IAccountService.class);
accountService=(IAccountService)control.getMock();
}
publicvoidtestRegistOk()throwsException{
Accountemployee=newAccount("name");
employee.setPassword("password");
accountService.regist(employee);
control.setVoidCallable(1);
control.replay();
AccountActionaction=newAccountAction();
action.setAccount(employee);
action.setAccountService(accountService);
assertEquals(Action.SUCCESS,action.regist());
control.verify();
}
publicvoidtestRegistNameExists()throwsException{
Accountemployee=newAccount("name");
employee.setPassword("password");
accountService.regist(employee);
control.setThrowable(newObjectExistsException(""));
control.replay();
AccountActionaction=newAccountAction();
action.setAccount(employee);
acti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師對家長的尊重保證
- 壽光夾芯板圍擋施工方案
- 組件深度清洗服務(wù)合同
- 標(biāo)準(zhǔn)土建工程分包合同
- 輕松采購合同提高效率
- 軟件系統(tǒng)集成與實施服務(wù)合同
- 房屋買賣合同中介的作用解析
- 銀行委托貸款合同范本
- 終止合同勞務(wù)分包
- 專業(yè)物料采購合同模板
- 學(xué)會自律的課件
- 4《昆蟲備忘錄》(教學(xué)設(shè)計)2023-2024學(xué)年部編版三年級語文下冊
- 第二單元測試題-2024-2025學(xué)年統(tǒng)編版語文八年級上冊
- 2024年天津能源投資集團(tuán)科技限公司招聘高頻500題難、易錯點(diǎn)模擬試題附帶答案詳解
- 2024年六安市金寨縣直事業(yè)單位選調(diào)歷年高頻500題難、易錯點(diǎn)模擬試題附帶答案詳解
- 2024年學(xué)憲法、講憲法題庫及答案
- 2024年人工智能(AI)訓(xùn)練師職業(yè)技能鑒定考試題庫(濃縮500題)
- 小學(xué)中隊長競選競聘
- 中國農(nóng)業(yè)銀行筆試參考題庫500題(含答案)
- 呼吸內(nèi)科利用品管圈PDCA循環(huán)提高患者對無創(chuàng)呼吸機(jī)的有效使用率
- GB/T 17395-2008無縫鋼管尺寸、外形、重量及允許偏差
評論
0/150
提交評論