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

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

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

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    不使用容器 進行 測試 jsp

    Posted on 2007-11-02 17:11 G_G 閱讀(1242) 評論(0)  編輯  收藏 所屬分類: JUnit
    參照:容器外的JSP頁面測試技術
    由于上面給出例 復雜 。一般人很難理解。我也是 ^_^
    但仔細看我還是自己寫出一個比較簡單的,望大家一起討論。

    被測試jsp
    <%@?taglib?prefix="html"?uri="/WEB-INF/struts-html.tld"?%>
    <%@?taglib?prefix="c"?uri="/WEB-INF/c-1_0-rt.tld"?%>
    <html:html>
    ????
    <c:if?test="${name?!=?pass}">
    ???????${name}??
    <br>
    ???????${pass}?
    <br>
    ??? ?? <!-- <html:text property="in" ></html:text> -->
    ????</c:if>
    </html:html>





    ant直接把他放在 eclipes 工程的根目錄下 build.xml
    ???
    但有有3個參數要設置 tomcat.home? Tomcat 的地址
    ??? ??? ??? ??? ??? ??? webapp.path 工程中的根目錄,下面有WEB-INF
    ??? ??? ??? ??? ??? ??? src 原代碼 (到時候jsp會翻譯成.java
    ??? ??? ??? ??? ??? ??? ??? ??? ??? 到這個目錄的 org.apache.jsp.jsp 下)
    <project?name="Webapp?Precompilation"?default="all"?basedir=".">?

    ??
    <!--?tomcat?dir?-->
    ??
    <property?name="tomcat.home"?value="D:\Tomcat?5.0"/>
    ??
    ??
    <!--?this=..//WEB-INF?(in?eclipes)??-->
    ??
    <property?name="webapp.path"?value=".\WebRoot"/>
    ??
    <!--?src?(in?eclipes)?-->
    ??
    <property?name="src"?value="./src"/>

    ??
    <target?name="jspc">?
    ????
    <taskdef?classname="org.apache.jasper.JspC"?name="jasper2"?>?
    ??????
    <classpath?id="jspc.classpath">?
    ????????
    <pathelement?location="${java.home}/../lib/tools.jar"/>?
    ????????
    <fileset?dir="${tomcat.home}/bin">?
    ??????????
    <include?name="*.jar"/>?
    ????????
    </fileset>?
    ????????
    <fileset?dir="${tomcat.home}/server/lib">?
    ??????????
    <include?name="*.jar"/>?
    ????????
    </fileset>?
    ????????
    <fileset?dir="${tomcat.home}/common/lib">?
    ??????????
    <include?name="*.jar"/>?
    ????????
    </fileset>?
    ??????
    </classpath>?
    ????
    </taskdef>?

    ????
    <jasper2?
    ?????????????
    validateXml="false"?
    ?????????????uriroot
    ="${webapp.path}"?
    ?????????????webXmlFragment
    ="${webapp.path}/WEB-INF/generated_web.xml"?
    ?????????????outputDir
    ="${src}"?/>?
    ??
    </target>

    ??
    <target?name="compile">

    ????
    <mkdir?dir="${webapp.path}/WEB-INF/classes"/>
    ????
    <mkdir?dir="${webapp.path}/WEB-INF/lib"/>

    ????
    <javac?destdir="${webapp.path}/WEB-INF/classes"
    ???????????optimize
    ="off"
    ???????????debug
    ="on"?failonerror="false"
    ???????????srcdir
    ="${src}"?
    ???????excludes
    ="**/*.smap">
    ??????
    <classpath>
    ????????
    <pathelement?location="${webapp.path}/WEB-INF/classes"/>
    ????????
    <fileset?dir="${webapp.path}/WEB-INF/lib">
    ??????????
    <include?name="*.jar"/>
    ????????
    </fileset>
    ????????
    <pathelement?location="${tomcat.home}/common/classes"/>
    ????????
    <fileset?dir="${tomcat.home}/common/lib">
    ??????????
    <include?name="*.jar"/>
    ????????
    </fileset>
    ????????
    <pathelement?location="${tomcat.home}/shared/classes"/>
    ????????
    <fileset?dir="${tomcat.home}/shared/lib">
    ??????????
    <include?name="*.jar"/>
    ????????
    </fileset>
    ????????
    <fileset?dir="${tomcat.home}/bin">?
    ??????????
    <include?name="*.jar"/>?
    ????????
    </fileset>?
    ??????
    </classpath>
    ??????
    <include?name="**"?/>
    ??????
    <exclude?name="tags/**"?/>
    ????
    </javac>

    ??
    </target>

    ??
    <target?name="all"?depends="jspc,compile">
    ??
    </target>

    ??
    <target?name="cleanup">
    ??????
    <delete>
    ????????
    <fileset?dir="${webapp.path}/WEB-INF/src"/>
    ????????
    <fileset?dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/>
    ??????
    </delete>
    ??
    </target>

    </project>

    TEST
    package?jetty.test.supper;


    import?javax.servlet.http.HttpServletRequest;
    import?javax.servlet.http.HttpServletResponse;

    import?org.apache.jsp.jsp.MyJsp_jsp;

    import?com.meterware.httpunit.GetMethodWebRequest;
    import?com.meterware.httpunit.WebRequest;
    import?com.meterware.httpunit.WebResponse;
    import?com.meterware.servletunit.InvocationContext;
    import?com.meterware.servletunit.ServletRunner;
    import?com.meterware.servletunit.ServletUnitClient;

    import?junit.framework.TestCase;

    public?class?JSPCTest?extends?TestCase{
    ????
    private?InvocationContext?ic?=?null?;

    ????
    protected?void?setUp()?throws?Exception?{
    ????????ServletRunner?sr?
    =?new?ServletRunner();
    ???????????
    //?向環境中注冊 jsp
    ????????sr.registerServlet("HelloWorld",?MyJsp_jsp.class.getName());
    ????????ServletUnitClient??sc?
    =?sr.newClient();
    ????????WebRequest?request?
    =?new?GetMethodWebRequest("http://localhost/HelloWorld");
    ?????????ic?
    =?sc.newInvocation(request);

    ????}
    ????
    ????
    public?void?testJspC()?throws?Exception{
    ????????HttpServletRequest?re?
    =??ic?.getRequest();
    ????????HttpServletResponse?rq?
    =??ic.getResponse();
    ????????re.setAttribute(
    "name","liukaiyi");
    ????????re.setAttribute(
    "pass","123456");
    ????????
    ????????MyJsp_jsp?is?
    =?(MyJsp_jsp)?ic.getServlet();
    ????????is._jspService(re,rq);
    ????????
    ????????WebResponse?response?
    =?ic.getServletResponse();
    // 輸出
    ????????System.out.println(?response.getText()?);
    ????????
    ????}
    }

    結果是
    <html>
    ????
    ???????liukaiyi??
    <br>
    ???????123456?
    <br>
    ????
    ????
    </html>

    后面用 HttpUnit 和 HtmlUnit 測試就不用我說了把 網上一大把。




    主站蜘蛛池模板: 成人永久免费高清| 日韩内射激情视频在线播放免费| 亚洲电影在线播放| 亚洲精品国产美女久久久| 亚洲国产精品无码一线岛国| 国产AV无码专区亚洲精品| a在线观看免费网址大全| 久久久久亚洲AV成人网人人软件| 亚洲福利在线播放| 亚洲av无码不卡一区二区三区| 中文字幕亚洲色图| 亚洲av色香蕉一区二区三区蜜桃| 又长又大又粗又硬3p免费视频| 免费A级毛片无码视频| 亚洲国产精品嫩草影院在线观看| 中文永久免费观看网站| 女人18毛片特级一级免费视频| 亚洲中文字幕无码专区| 亚洲欧美日韩自偷自拍| 中文字幕无码毛片免费看| 浮力影院第一页小视频国产在线观看免费| 亚洲色成人网站WWW永久| 亚洲日本VA中文字幕久久道具| 成年女人毛片免费播放视频m| 国产av无码专区亚洲av桃花庵| 久久午夜羞羞影院免费观看| 亚洲欧洲高清有无| 好男人视频在线观看免费看片| 污污视频网站免费观看| 在线视频精品免费| 亚洲午夜福利在线观看| 亚在线观看免费视频入口| 全亚洲最新黄色特级网站 | 亚洲国产高清在线精品一区| 亚洲精品视频免费| 亚洲?V乱码久久精品蜜桃| 两个人看的www视频免费完整版| 久久久亚洲欧洲日产国码是AV| 在线免费视频一区二区| 国产一级a毛一级a看免费视频| 亚洲网站视频在线观看|