亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
用StrutsTestCase測試Struts
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2013/2/18 14:04:15 ] 推薦標簽:

下面開始寫要測試的action, LoginAction:

import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.util.*;

public class LoginAction extends Action {

public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {

String username = ((LoginForm) form).getUsername();
String password = ((LoginForm) form).getPassword();

ActionErrors errors = new ActionErrors();

if ((!username.equals("deryl")) || (!password.equals("radar")))
errors.add("password",new ActionError("error.password.mismatch"));

if (!errors.isEmpty()) {
saveErrors(request,errors);
return new ActionForward(mapping.getInput());
}

HttpSession session = request.getSession();
session.setAttribute("authentication", username);

// Forward control to the specified success URI

return mapping.findForward("success");

}


}
[code]
這里我們接收到包含用戶信息的formbean, 首先得到登錄信息,然后驗證是否有效,如果無效,創(chuàng)建ActionError 信息轉(zhuǎn)到登陸頁面,如相符,把驗證信息保存到session, 然后轉(zhuǎn)到下個頁面。

有這些事情我們可以測試:
(1)LoginForm 工作正常嗎?如果在請求中放入合適的參數(shù)它會正確的被初始化嗎?
(2)如果用戶名和密碼不匹配,是否適當?shù)腻e誤信息被保存?是否會轉(zhuǎn)到登陸頁面?
(3)如果我們提供正確的登陸信息,可以得到正確的頁面嗎?可以確定不會報錯嗎?驗證信息被保存到session了嗎?

StrutsTestCase 賦予你測試所有情況的能力,自動為你啟動ActionServlet

先來寫一個空的test case, 他和 junit 非常相似
[code]
public class TestLoginAction extends MockStrutsTestCase {

public void setUp() { super.setUp(); } // 如果要重寫 setUp(), 則必須顯式調(diào)用super.setUp()

public void tearDown() { super.tearDown(); }

public TestLoginAction(String testName) { super(testName); }

public void testSuccessfulLogin() {}

}


下面正式寫這個測試,向testSuccessfulLogin中添加:
(1)指定一個和struts mapping 相關聯(lián)的路徑,需要說明的是,ActionServlet 默認的搜索WEB-INF下的struts-config.xml, 如果struts-config.xml放在了別的目錄下,要在此之前調(diào)用setConfigFile()
setRequestPathInfo("/login");[code]
(2)通過request 對象向 formbean 傳遞參數(shù)
[code]
addRequestParameter("username","deryl");
addRequestParameter("password","radar");

(3)讓 Action 執(zhí)行
actionPerform();

該方法將模擬從瀏覽器端訪問 servlet 容器內(nèi)的 LoginAction 的過程,先把請求轉(zhuǎn)發(fā)給 ActionServlet,ActionServlet再把表單數(shù)據(jù)組裝到LoginForm中,把請求轉(zhuǎn)發(fā)給LoginAction
(4)驗證轉(zhuǎn)到了正確的頁面
verifyForward("success");

(5)確認驗證信息被保存到了session
assertEquals("deryl",(String) getSession().getAttribute("authentication"));

(6)確認沒有錯誤信息
verifyNoActionErrors();

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 欧美一级专区免费大片野外交 | 日韩第1页 | 1204国产成人精品视频 | 91精品国产美女福到在线不卡 | 国产精品麻豆久久久 | 中文字幕有码在线播放 | 7m视频在线观看高清国产7m | 夜夜爽夜夜操 | 涩涩综合 | 亚洲第一二三四区 | 婷婷久月| 欧美在线你懂的 | 日本亚洲天堂网 | 大又黄又粗又爽妇女毛片 | 精品国产v无码大片在线观看 | 免费a级毛片在线观看 | 欧美v亚洲 | 国产a级特黄的片子视频 | 欧美最新一区二区三区四区 | 黄色a一级| 欧美黑人巨大xxxxxxxx | 91久久99热青草国产 | 亚洲午夜在线视频 | videos欧美黑白爆交 | 秋霞影视伦理手机在线观看 | 国产女人伦码一区二区三区不卡 | 午夜天堂网 | 男女扒开双腿猛进入免费看污 | 黄色软件合集 | 华人欧美国产在线精品 | 乱色欧美videos黑人 | 日韩一级视频 | 波多野结衣最新 | 欧美日韩在线精品成人综合网 | 午夜影院0606免费 | 97狠狠操| 免费日批| 黄网站色视频免费观看 | 免费在线观看污污视频 | 日韩日韩日韩手机看片自拍 | 欧美成人观看免费完全 |