<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    [原創(chuàng)]基于驗證框架的action的測試

    當引用了驗證框架的時候,測試 action 的時候,程序會自動去找驗證框架進行驗證,那么如何進行這種情況下的 action 測試呢?經(jīng)過一天的研究,發(fā)現(xiàn)必須先將驗證所需要的 xml 文件夾在進去,然后才能夠順利的進行!具體的實施如下:

    ??? protected void setUp() throws Exception {

    ??????? super .setUp();

    ??????? // set WEB-INF directory

    ??????? setContextDirectory( new File( "WebContent" ));

    ??????? // set struts- test -config.xml

    ??????? setConfigFile( "/WEB-INF/test/struts-test-config.xml" );

    ???????

    ??????? // set request's attribute for test

    ??????? // 創(chuàng)建一個 MessageResourcesFactory 類,目的是得到下面的 MessageResources, 作為其中的一個參數(shù)

    MessageResourcesFactory messageResourcesFactory = new PropertyMessageResourcesFactory();

    // 獲得 MessageResources

    MessageResources messageResources = new PropertyMessageResources(messageResourcesFactory, "org.apache.struts.action.ActionResources" );? ?
    ?
    getActionServlet().getServletContext().setAttribute( "org.apache.commons.validator.VALIDATOR_RESOURCES" ,getResources());

    ???????? ???????????????????????? ?
    getActionServlet().getServletContext().setAttribute( "org.apache.struts.action.MESSAGE" ,messageResources);

    ??? }

    ?

    以下的方法為了得到一個 MessageResources ,是從 org.apache.struts.validator. ValidatorPlugIn 中的 initResources ()方法得到的!

    /**

    ? * get the validator resources.

    ? *

    ? * @throws IOException ????? if an input/output error is encountered

    ? * @throws ServletException if we cannot initialize these resources

    ? */

    protected ValidatorResources getResources() throws IOException, ServletException {

    String pathnames = "/WEB-INF/validator-rules.xml,/WEB-INF/test/struts-test-config.xml" ;

    ??????? StringTokenizer st = new StringTokenizer(pathnames, "," );

    ?

    ??????? List streamList = new ArrayList();

    ??????? try {

    ??????????? while (st.hasMoreTokens()) {

    ??????????????? String validatorRules = st.nextToken().trim();

    ??????????????? if (log.isInfoEnabled()) {

    ??????????????????? log.info( "Loading validation rules file from '" + validatorRules + "'" );

    ??????????????? }

    ?

    ??????????????? InputStream input =getActionServlet().getServletContext().getResourceAsStream(validatorRules);

    ???????????????

    ??????????????? // If the config isn't in the servlet context, try the class loader

    ??????????????? // which allows the config files to be stored in a jar

    ??????????????? if (input == null ) {

    ??????????????????? input = getClass().getResourceAsStream(validatorRules);

    ??????????????? }

    ?

    ??????????????? if (input != null ) {

    ??????????????????? BufferedInputStream bis = new BufferedInputStream(input);

    ??????????????????? streamList.add(bis);

    ??????????????? } else {

    ??????????????????? throw new ServletException( "Skipping validation rules file from '"

    ??????????????????????????? ? + validatorRules + "'.? No stream could be opened." );

    ??????????????? }

    ??????????? }

    ??????????? int streamSize = streamList.size();

    ??????????? InputStream[] streamArray = new InputStream[streamSize];

    ??????????? for ( int streamIndex = 0;streamIndex < streamSize;streamIndex++) {

    ??????????????? InputStream is = (InputStream) streamList.get(streamIndex);

    ??????????????? streamArray[streamIndex] = is;

    ??????????? }

    ?

    ??????????? return new ValidatorResources(streamArray);

    ??????? } catch (SAXException sex) {

    ??????????? log.error( "Skipping all validation" ,sex);

    ??????????? throw new ServletException(sex);

    ??????? } finally {

    ??????????? Iterator streamIterator = streamList.iterator();

    ??????????? while (streamIterator.hasNext()) {

    ??????????????? InputStream is = (InputStream) streamIterator.next();

    ??????????????? is.close();

    ??????????? }

    ??????? }

    ??? }

    ?

    通過這樣的配置以后,就可以正常的對于 action 進行測試了!

    posted on 2006-03-17 13:31 扭轉(zhuǎn)乾坤 閱讀(257) 評論(0)  編輯  收藏 所屬分類: 測試相關

    <2006年3月>
    2627281234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統(tǒng)計

    常用鏈接

    留言簿(2)

    隨筆分類(31)

    隨筆檔案(30)

    文章分類(32)

    文章檔案(33)

    相冊

    PHP小站-首頁

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲视频一区在线| 香蕉视频在线观看亚洲| 在线亚洲午夜片AV大片| 999任你躁在线精品免费不卡| 亚洲人成网站在线播放vr| h在线看免费视频网站男男| 亚洲免费日韩无码系列| 亚洲av成人一区二区三区在线观看 | 99久久精品毛片免费播放| 精品亚洲一区二区三区在线播放| 一个人看的免费视频www在线高清动漫 | 99久久免费国产精品热| 亚洲成a人片77777kkkk| 在线亚洲精品视频| 免费大黄网站在线观| 亚洲乱码中文论理电影| 岛国av无码免费无禁网站| 亚洲AV无码国产精品永久一区| 亚洲?V无码乱码国产精品| 国产精品免费一区二区三区| 亚洲AV无码一区东京热久久| 99热免费在线观看| 亚洲愉拍一区二区三区| 亚洲&#228;v永久无码精品天堂久久 | 精品国产日韩亚洲一区| 国产精成人品日日拍夜夜免费| 亚洲免费无码在线| 欧洲精品99毛片免费高清观看| 亚洲精品国产电影午夜| 午夜一区二区免费视频| 人人爽人人爽人人片av免费| 亚洲日韩区在线电影| 夜夜爽免费888视频| 国产va免费精品| 亚洲av成人综合网| 亚洲国产综合无码一区二区二三区| 日韩电影免费观看| 亚洲av永久无码天堂网| 亚洲AV综合色区无码一区爱AV| 国产免费AV片在线播放唯爱网| www.亚洲日本|