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

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

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

    [原創]基于驗證框架的action的測試

    當引用了驗證框架的時候,測試 action 的時候,程序會自動去找驗證框架進行驗證,那么如何進行這種情況下的 action 測試呢?經過一天的研究,發現必須先將驗證所需要的 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

    ??????? // 創建一個 MessageResourcesFactory 類,目的是得到下面的 MessageResources, 作為其中的一個參數

    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 扭轉乾坤 閱讀(254) 評論(0)  編輯  收藏 所屬分類: 測試相關

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

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類(31)

    隨筆檔案(30)

    文章分類(32)

    文章檔案(33)

    相冊

    PHP小站-首頁

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲色最新高清av网站| 亚洲精品动漫在线| 永久免费无码日韩视频| 国产麻豆剧传媒精品国产免费| 亚洲日日做天天做日日谢| 无码专区永久免费AV网站| 久久综合久久综合亚洲| 免费观看美女裸体网站| 久久亚洲AV成人无码国产电影| 性做久久久久免费看| 老司机免费午夜精品视频| 亚洲成a人片在线播放| 国产一级婬片A视频免费观看| 亚洲va久久久噜噜噜久久男同 | 精品无码国产污污污免费网站 | 亚洲?V无码乱码国产精品| 丰满妇女做a级毛片免费观看| 国产亚洲精品无码拍拍拍色欲| 老司机69精品成免费视频| 亚洲色欲www综合网| 最近中文字幕无吗高清免费视频| 在线精品亚洲一区二区| 亚洲AV无码乱码在线观看性色扶| 国产免费高清69式视频在线观看| 亚洲成在人天堂在线| 成人福利免费视频| 国产亚洲精品AAAA片APP| 久久久久久A亚洲欧洲AV冫| 久爱免费观看在线网站| 亚洲情A成黄在线观看动漫软件| 日本一道高清不卡免费| 午夜在线免费视频 | 国产91精品一区二区麻豆亚洲| 少妇性饥渴无码A区免费| 亚洲成av人片不卡无码| 国产三级免费观看| 国产精品免费大片| 亚洲欧美在线x视频| 亚洲综合无码一区二区| 日本免费电影一区| 免费A级毛片无码视频|