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

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

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

    【永恒的瞬間】
    ?Give me hapy ?

    StrutsTest:

    http://strutstestcase.sourceforge.net/

    StrutsTestCase: The tool for Struts unit testing:

    http://sourceforge.net/docman/display_doc.php?docid=19672&group_id=39190

    EasyMock使用手冊:

    http://dev.csdn.net/Develop/article/article/28/article/28/article/28/article/28/28583.shtm

    ??? Struts是目前在web開發中廣泛使用的幾個框架之一,而StrutsTest正是專門負責測試strut應用程序的Mock測試框架。

    使用目的

    ?????? StrtusTest junit 的擴展,使用它,不需要啟動 servlet 容器就可以方便的測試 struts 應用程序(容器外測試)。它也是屬于使用 Mock 對象測試,但是與 EasyMock 不同的是, EasyMock 是提供了創建 Mock 對象的 API ,而 StrutsTest 則是專門負責測試 Struts 應用程序的 Mock 對象測試框架。除了容器外測試, StrutsTest 也可以很方便的用容器內的測試。

    ?????? 當前的版本是 StrutsTest2.1.0 ,在這個版本中不支持 Struts1.0 。如果需要測試 struts1.0 的應用程序,對應的版本是 StrutsTest2.0 。可以從 http://sourceforge.net/projects/strutstestcase/ 下載。

    用法

    1. ?????? 基本步驟:

    - ????????? 書寫 struts action

    - ????????? 確定需要進行測試的方式: Mock 對象則選用 MockStrutsTestCase 作為基類; Cactus 方式則選用 CactusStrutsTestCase ;這兩種方式以下的步驟都是一樣的。

    - ????????? 使用 setUp tearDown 進行初始化,明確這兩個函數的第一句話是調用 super 的方法。

    - ????????? 設置要測試的 struts action 的路徑,方便 strutstest 能找到 web.xml struts 相關的配置文檔。

    - ????????? 設置 action strtus-config.xml 中對應的 path 名稱。

    - ????????? 設置 action 需要使用的各個參數值到 request 對象中,包括 action 所使用的 formbean 的值。

    - ????????? 執行 action

    - ????????? 驗證 action 的返回路徑是否正確,即 forward 的名字。

    - ????????? 驗證 action 相關的其余部分。

    2. ?????? 使用例子(采用 Mock 方式):

    public class DeparmentDBActionTest extends MockStrutsTestCase {

    ??? public DeparmentDBActionTest(String arg0) {

    ??? ?? ?? super(arg0);

    ??? }

    public void setUp(){

    ?????? ? super.setUp();

    // 指明 web 應用的根

    ??? ????File contextFile = new File("D:\\Projects\\fog\\implement\\web");

    ??????? setContextDirectory(contextFile);

    ??? }

    ??? protected void tearDown() throws Exception {

    ??????? super.tearDown();

    ??? }

    ??? public void testDoAdd() {

    ??????? // 設置 action path

    ??????? setRequestPathInfo("/dpEdit");

    ??????? // 準備 action 所需要的 formbean 的參數

    ??????? addRequestParameter("method", "doAdd");

    ??????? addRequestParameter("pageId", "1");

    ??????? addRequestParameter("dpname"," 測試部門 ");

    ??????? addRequestParameter("dptype"," 測試部門 ");

    ??????? addRequestParameter("yn","n");

    ??????? // 執行 action

    ??????? actionPerform();

    ??????? // 驗證返回的 forward

    ??????? verifyForward("success");

    ??? }

    3. ?????? 主要函數和作用:

    - ????????? setContextDirectory ,設置 web 應用的根

    - ????????? setRequestPathInfo ,設置 request 的請求

    - ????????? addRequestParameter ,將參數和對應的值加入 request

    - ????????? actionPerform ,執行這個請求

    - ????????? verifyForward ,驗證 forward 的名字是否正確

    - ????????? verifyForwardPath ,驗證 forward path 是否正確

    - ????????? verifyNoActionErrors ,驗證在 action 執行過程中沒有 ActionError 產生

    - ????????? verifyActionErrors ,驗證在 action 執行過程中產生的 ActionError 集合的內容

    具體詳細的內容請參見對應的 javaDoc

    4. ?????? 測試 Tile 。其基本過程與上面類似,不同之處在于驗證:使用 verifyTilesForward verifyInputTilesForward

    5. ?????? 測試子模塊。其基本過程也和上面一樣,不同之處在于需要指定該模塊所需要使用的 struts-config.xml 和調用方式:

    - ????????? 首先,指定所需要的 struts-config.xml

    setConfigFile("mymodule","/WEB-INF/struts-config-mymodule.xml");

    - ????????? 其次,指明調用的路徑:

    setRequestPathInfo("/mymodule","/login.do");

    檢查表

    ?????? 使用 StrutsTest 需要注意的地方:

    - ????????? TestCase 中可以訪問 request session 等對象, StrutsTest 為我們提供了訪問接口。

    - ????????? junit assert 函數和 fail 函數都可以在 StrutsTest 中使用。

    -? 對于文件上載,目前 StrutsTest 并沒有什么特別好的方案。具體參見 StrusTest Faq

    posted on 2007-01-12 20:10 ???MengChuChen 閱讀(303) 評論(0)  編輯  收藏 所屬分類: struts
    主站蜘蛛池模板: 亚洲αv久久久噜噜噜噜噜| 国产大片91精品免费观看男同| 伊人久久亚洲综合| 九九久久精品国产免费看小说 | 18禁止观看免费私人影院| 亚洲大片在线观看| 免费无码又爽又刺激高潮视频| 亚洲va久久久噜噜噜久久狠狠 | 120秒男女动态视频免费| 亚洲最大福利视频网站| 最近中文字幕免费mv在线视频| 亚洲av无码无在线观看红杏| 少妇人妻偷人精品免费视频| 亚洲一级视频在线观看| 成人无遮挡毛片免费看| 国产精品亚洲精品久久精品 | 久久被窝电影亚洲爽爽爽| 免费人成在线观看视频高潮| 老汉色老汉首页a亚洲| 免费成人激情视频| 亚洲国产精品无码久久| 亚洲欧洲日本在线| 99re6热视频精品免费观看| 久久综合久久综合亚洲| 亚洲国产成人a精品不卡在线| 国产精品免费看久久久香蕉 | 成人人免费夜夜视频观看| 亚洲国产成人手机在线观看| 免费a级毛片大学生免费观看 | 亚洲精品视频免费在线观看| 老司机在线免费视频| 美女被免费网站在线视频免费 | 亚洲国产精品尤物YW在线观看| 两个人日本WWW免费版| 亚洲av无码一区二区三区天堂古代 | 午夜成年女人毛片免费观看| 一级特黄特色的免费大片视频| 亚洲V无码一区二区三区四区观看| 日本最新免费网站| 一个人看的www在线免费视频| 久久亚洲春色中文字幕久久久 |