您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Cactus
Cactus實例講解
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/5 13:14:37 ] 推薦標(biāo)簽:

第一個方法testReadServletOutputStream,調(diào)用doGet,相當(dāng)于在客戶端提交請求,然后在Servlet處理后會產(chǎn)生一個回饋,所以,在endReadServletOutputStream方法里,我們通過調(diào)用response的相應(yīng)方法判斷回饋是否符合預(yù)期結(jié)果。

第二個方法testPostMethod,在這之前有一個beginPostMethod,在這個方法里我們以POST方式往request里增加一個表單數(shù)據(jù)param,值為”value”。下面在testPostMethod我們要驗證表單數(shù)據(jù)是否以POST方式提交到了服務(wù)端的Servlet里,所以,我們看到了兩個assertEquals,分別進行了判斷。在這里我們要注意到beginPostMethod方法中的theRequest和testPostMethod中的request的區(qū)別,在前面我們已經(jīng)提到過,beginPostMethod是在客戶端執(zhí)行的,所以它方法內(nèi)的所有操作事實上是模擬頁面操作的,比如上面的設(shè)置表單數(shù)據(jù),而testPostMethod是服務(wù)端執(zhí)行的,其中的request也是服務(wù)端的。
配置cactus.properties和web.xml

cactus.properties

    cactus.contextURL

這個屬性是必須的,它指定了web應(yīng)用的訪問地址

例:cactus.contextURL = http://localhost:8080/test

    cactus.servletRedirectorName

可選,當(dāng)測試類繼承ServletTestCase時用于指定Cactus Servlet Redirector的映射名稱。默認(rèn):ServletRedirector

例:cactus.servletRedirectorName = ServletRedirector

    cactus.jspRedirectorName

可選,當(dāng)測試類繼承ServletTestCase時用于指定Cactus Jsp Redirector的映射名稱。默認(rèn):ServletRedirector

例:cactus.jspRedirectorName = JspRedirector

    cactus.filterRedirectorName (For J2EE API 1.3 only)

可選,當(dāng)測試類繼承ServletTestCase時用于指定Cactus Filter Redirector的映射名稱。默認(rèn):ServletRedirector

例:cactus.filterRedirectorName = FilterRedirector

Cactus.properties你可以放置在WEB-INF/classes/下。

web.xml

在web.xml里要為相應(yīng)的測試類指定相應(yīng)的Cactus Redirector。

ServletTestCase對應(yīng)org.apache.cactus.server.ServletTestRedirector

JspTestCase對應(yīng)/jspRedirector.jsp

FilterTestCase對應(yīng)org.apache.cactus.server.FilterTestRedirector

<web-app>

<filter>

<filter-name>FilterRedirector</filter-name>

<filter-class>org.apache.cactus.server.FilterTestRedirector</filter-class>

</filter>

<filter-mapping>

<filter-name>FilterRedirector</filter-name>

<url-pattern>/FilterRedirector</url-pattern>

</filter-mapping>

<servlet>

<servlet-name>ServletRedirector</servlet-name>

<servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>

</servlet>

<servlet>

<servlet-name>JspRedirector</servlet-name>

<jsp-file>/jspRedirector.jsp</jsp-file>

</servlet>

<servlet-mapping>

<servlet-name>ServletRedirector</servlet-name>

<url-pattern>/ServletRedirector</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>JspRedirector</servlet-name>

<url-pattern>/JspRedirector</url-pattern>

</servlet-mapping>

</web-app>

如果你的測試類繼承了JspTestCase則需要將jspRedirector.jsp文件放置到你在web.xml中指定的路徑里。

安裝說明

    在使用Cactus時,strutstest.jar還需要有下列包的支持。包可放置在WEB-INF/lib下

如下:

        Client端,需要如下包

junit.jar

servlet.jar

cactus.jar

httpclient.jar

commons-logging.jar

httpunit.jar,Tidy.jar,xerces.jar(可選,如果你集成了httpunit的話需要,也是在endXXX中使用了httpunit)

        Server端(也是web容器)需要如下包

cactus.jar

junit.jar

aspectjrt.jar

commons-logging.jar

    寫好測試代碼后將class放置在WEB-INF/classes下
    被測代碼也放置在WEB-INF/classes下
    寫好cactus.properties和web.xml兩個配置文件
    啟動web容器
    運行測試代碼

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd