• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    追求代碼質量: 測試 Struts 遺留的應用程序

    發布: 2008-6-20 14:19 | 作者: 不詳 | 來源: 測試時代編輯整理 | 查看: 55次 | 進入軟件測試論壇討論

    領測軟件測試網


      return new FlatXmlDataSet(new File("test/conf/dbunit-user-seed.xml"));
    }

    private IDatabaseConnection getConnection() throws ClassNotFoundException, SQLException {
      final Class driverClass = Class.forName("org.gjt.mm.mysql.Driver");
      final Connection jdbcConnection = DriverManager.
       getConnection("jdbc:mysql://localhost/ccb01",
         "9043", "43xli");              
      return new DatabaseConnection(jdbcConnection);
    }
    private void verifyPassword(String fileName) throws Exception{
      final IDataSet expectedDataSet = new FlatXmlDataSet(
       new File(fileName));

      final ITable defJoinData = this.getConnection().
       createQueryTable("TestResult",
        "select user.username, user.password " +
        "from user where user.username=\"jane\"");

      final ITable defTable = expectedDataSet.getTable("user");
      Assertion.assertEquals(defJoinData, defTable);
    }
    }

    只多一個測試……

    請注意這個測試用例沒有測試邊界用例,例如:如果兩個口令字段(newPassword1newPassword2())不匹配。謝天謝地,一旦設置好了,添加另一個測試用例并不難。在清單 12 中,驗證了如果兩個值不匹配,就生成 ActionError,用戶 “jane” 口令在數據庫中的值保持不變。


    清單 12. 添加新測試

    public void testExecuteWithErrors() throws Exception{
       setRequestPathInfo("/changePasswordSubmit");

       addRequestParameter("username","jane");
       addRequestParameter("currentPassword","admin");
       addRequestParameter("newPassword1","meme");
       addRequestParameter("newPassword2","emem");

       actionPerform();
       verifyActionErrors(
         new String[]{"error.changePassword.passwordsDontMatch"});
       verifyPassword("test/conf/dbunit-expect-user-same.xml");
    }

    在清單 12 中,我驗證了 清單 2 中的邏輯正確地捕捉到了口令值不匹配的情況。MockStrutsTestCase 類包含一個方便方法可以斷言錯誤條件,這個方法是 verifyActionErrors(),在這個方法中,錯誤 String 被傳遞進來進行驗證。還請注意,數據庫被檢查,這次是根據另一個包含相同值的文件(在這個示例中,username “jane” 有一個未加密的 password “admin”)。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>