<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 閱讀(1233) 評論(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 測試就不用我說了把 網上一大把。




    主站蜘蛛池模板: 亚洲福利电影一区二区?| 亚洲?V乱码久久精品蜜桃| 亚洲激情视频在线观看| 国产精品免费久久久久影院| 亚洲成a人片在线观看国产| 久久久久久久久无码精品亚洲日韩 | 免费看黄福利app导航看一下黄色录像 | 亚洲一级免费毛片| 亚洲国产精品久久久久秋霞影院| 国产一区二区三区免费| 亚洲视频一区调教| 69av免费视频| 亚洲欧美国产日韩av野草社区| 国产zzjjzzjj视频全免费| 理论秋霞在线看免费| 不卡一卡二卡三亚洲| 男人进去女人爽免费视频国产| 亚洲国产精品久久| 国产福利在线免费| jzzijzzij在线观看亚洲熟妇| 亚洲午夜爱爱香蕉片| 四虎影视无码永久免费| 亚洲天堂福利视频| 破了亲妺妺的处免费视频国产 | 亚洲Av无码乱码在线观看性色| 无码免费又爽又高潮喷水的视频 | 精品国产精品久久一区免费式| 特级毛片全部免费播放| 日韩亚洲变态另类中文| 久久A级毛片免费观看| 亚洲人成人伊人成综合网无码| 亚洲国产精品成人网址天堂| 国产自国产自愉自愉免费24区 | 亚洲性久久久影院| 在免费jizzjizz在线播| 亚洲av无码日韩av无码网站冲| 亚洲精品国产字幕久久不卡| 免费a级毛片高清视频不卡 | 亚洲黄色免费网站| 看免费毛片天天看| 久久亚洲精品成人av无码网站|