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

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

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

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

    用WSAD的JUnit向導執行單元測試

    發布: 2008-7-10 14:47 | 作者: 不詳 | 來源: 仙人掌工作室 | 查看: 103次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:WSAD JUnit向導
    WebSphere Application Developer(WSAD)5.0提供了一組JUnit向導,簡化了JUnit的應用。其中一個向導能夠自動生成JUnit測試代碼,同時,WSAD的調試視圖還能夠清楚地顯示出JUnit測試的結果。

    接下來我們來看看如何在WSAD中對下面的Java類進行JUnit測試:


    // ReverseName.java 
    import org.apache.oro.text.perl.*;

    public class ReverseName {
      private Perl5Util perl = new Perl5Util();

      public String reverse(String in) {
        String out = perl.substitute( "s%([A-Z][a-z]*) ([A-Z][a-z]*)%$2, $1%", in);
        return out;
      }
    }

     


    這個類的功能是輸入一個字符串,例如“aa bb”,然后把它翻轉成逗號分隔的形式,即“bb,aa”。這個類用到了Jakarta的ORO包Perl4Util類的正則表達式功能。

    為了進行測試,首要要從http://jakarta.apache.org的Jakarta網站下載和安裝ORO包,從http://www.junit.org下載和安裝JUnit工具。當然,你也可以修改ReverseName類,不要讓它使用Perl5Util類,免去安裝ORO包之勞。

    下載好ORO包和JUnit工具后,在WSAD中創建一個新的項目,然后將ORO包和JUnit工具加入到項目的構造路徑,再把上面的代碼粘貼到ReverseName.java。將ORO包和JUnit工具加入構造路徑的步驟是:在瀏覽器視圖中選擇項目,按鼠標右鍵,選擇“特性”,再選擇“Java構建路徑”,在JAR文件選擇面板中,找到JUnit的安裝路徑并加入junit.jar文件。

    創建JUnit測試實例的步驟是:在瀏覽器視圖中右擊ReverseName類文件,選擇菜單“新建”→“其他”,打開左邊樹形列表的Java節點,如圖一,選擇JUnit,然后在右邊清單中選擇“測試實例”,點擊“下一步”。




    圖一


    向導顯示出JUnit測試實例對話框。認可默認的源文件夾、包名稱、測試實例名稱等參數。選中main方法“public static void main(String[] args)”的檢查框,這時,“對下列項添加TestRunner語句”選項將變為可用。在下拉列表框中,選擇text ui。選中另外兩個方法——setup()、tearDown()的檢查框,如圖二。點擊“下一步”。




    圖二


    在“選擇應為其創建測試方法存根的方法”對話框中,如圖三,選中reverseName方法,然后點擊“完成”。




    圖三


    向導將生成下列代碼:


    // ReverseNameTest.java

    import junit.framework.TestCase;
    public class ReverseNameTest extends TestCase {

      public ReverseNameTest(String arg0) {super(arg0);}

      public static void main(String[] args) {
        junit.textui.TestRunner.run(ReverseNameTest.class);
      }

      protected void setUp() throws Exception {
        super.setUp();    
      }
      protected void tearDown() throws Exception {
        super.tearDown();
      }
      public void testReverseName() {
      }
    }

     


    對于該類,注意下面幾點:

    ⑴ 它導入了junit.framework包。

    ⑵ 它擴展了junit.framework.TestCase。

    ⑶ 它包含了兩個特殊的JUnit方法,即setUp和tearDown。

    ⑷ 它只有一個測試方法,testReverseName,方法名稱中帶有必需的前綴test。

    ⑸ 它的main方法運行JUnit的文本版,調用特定的測試方法。

    自動生成的ReverseNameTest類還需要加入一些測試代碼。不過本例不需要在setUp和tearDown方法中加入代碼,之所以要在向導中選中這兩個方法,是為了示范向導的功能。對于復雜一些的測試,我們可以讓setUp方法打開幾個文本流文件(或者是提取記錄集的JDBC數據庫連接),然后讓tearDown方法關閉這些文件流(或JDBC數據庫連接),JUnit將自動在測試開始、結束處調用setUp和tearDown方法。

    下面我們加入一個測試。在編輯器中打開ReverseNameTest,修改testReverseName方法,使其包含下列代碼:


    public void testReverseName() {
      ReverseName  fix = new ReverseName();
      assertEquals(
        fix.reverse("aa bb"), 
            "bb, aa");
      assertEquals(
        fix.reverse("cc dd"),
            "dd, cc");
      assertEquals(
          fix.reverse("ee ff"),
            "ee, ff");
    }

     


    TestCase基類提供了大量的assert方法,可以對各種各樣的條件進行測試。

    保存修改之后,接下來就可以運行測試了。在ReverseNameTest代碼窗口仍打開的狀態下,打開“調試”透視圖。點擊ReverseNameTest編輯器,確保該類處于可見狀態。點擊“運行”按鈕(圖標為跑步的人)旁邊的下拉箭頭,選擇“運行為”→“JUnit測試”。注意屏幕的底部有一個JUnit視圖,JUnit視圖顯示出下列內容:


    Failer Trace section:
    junit.framework.ComparisionFailure: 
    expectedbut was
    at denoncourt.Reverse

     


    如果所有測試都順利通過,JUnit不會顯示任何錯誤信息。 
      

    延伸閱讀

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

    TAG: junit Junit JUnit wsad 單元 向導 WSAD


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