<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无码网站| 日韩免费一区二区三区在线| 国产亚洲美女精品久久| 亚洲日本一区二区| 国产午夜鲁丝片AV无码免费 | 国内精品久久久久影院亚洲| 免费女人18毛片a级毛片视频| 精品国产污污免费网站| 亚洲妇女熟BBW| 亚洲av鲁丝一区二区三区| 国产人妖ts在线观看免费视频| 人妻无码一区二区三区免费| 国产精品亚洲一区二区三区在线观看| 亚洲三级电影网站| 亚洲欧洲一区二区三区| 免费高清在线爱做视频| 在线观看免费视频资源| 伊人免费在线观看| 黄色一级免费网站| 亚洲日韩看片无码电影| 亚洲国产日韩一区高清在线| 婷婷综合缴情亚洲狠狠尤物| 一二三四免费观看在线电影| 日本免费电影一区二区| 理论秋霞在线看免费| 亚洲日韩一中文字暮| 亚洲激情视频网站| 午夜亚洲AV日韩AV无码大全| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产妇乱子伦视频免费| 97在线免费视频| 一个人免费观看日本www视频| 亚洲乱亚洲乱妇24p| 99999久久久久久亚洲| 777亚洲精品乱码久久久久久 |