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

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

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

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

    應用JUnit實施單元測試

    發布: 2009-4-13 10:26 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 33次 | 進入軟件測試論壇討論

    領測軟件測試網


           回歸測試框架-JUnit 
           通過前面的介紹,我們對JUnit有了一個大概的輪廓。知道了它是干什么的,F在讓我們動手改寫上面的測試類testCar使其符合Junit的規范--能在JUnit中運行。

    //執行測試的類(JUnit版)
    import junit.framework.*;

    public class testCar extends TestCase {

    protected int expectedWheels;
    protected Car myCar;

    public testCar(String name) {
    super(name);
    }

    protected void setUp() {
    expectedWheels = 4;
    myCar = new Car();
    }

    public static Test suite() {
    /*
    * the type safe way
    *
    TestSuite suite= new TestSuite();
    suite.addTest(
    new testCar("Car.getWheels") {
    protected void runTest() { testGetWheels(); }
    }
    );
    return suite;
    */

    /*
    * the dynamic way
    */
    return new TestSuite(testCar.class);
    }

    public void testGetWheels() {
    assertEquals(expectedWheels, myCar.getWheels());
    }
    }

           改版后的testCar已經面目全非。先讓我們了解這些改動都是什么含義,再看如何執行這個測試。

           1>import語句,引入JUnit的類。(沒問題吧)

           2>繼承 TestCase ?梢詴簳r將一個TestCase看作是對某個類進行測試的方法的集合。詳細介紹請參看JUnit資料

           3>setUp()設定了進行初始化的任務。我們以后會看到setUp會有特別的用處。

           4>testGetWheeels()對預期的值和myCar.getWheels()返回的值進行比較,并打印比較的結果。assertEquals是junit.framework.Assert中所定義的方法,junit.framework.TestCase繼承了junit.framework.Assert。

           5>suite()是一個很特殊的靜態方法。JUnit的TestRunner會調用suite方法來確定有多少個測試可以執行。上面的例子顯示了兩種方法:靜態的方法是構造一個內部類,并利用構造函數給該測試命名(test name, 如 Car.getWheels ),其覆蓋的runTest()方法,指明了該測試需要執行那些方法--testGetWheels()。動態的方法是利用內。╮eflection )來實現runTest(),找出需要執行那些測試。此時測試的名字即是測試方法(test method,如testGetWheels)的名字。JUnit會自動找出并調用該類的測試方法。

           6>將TestSuite看作是包裹測試的一個容器。如果將測試比作葉子節點的話,TestSuite就是分支節點。實際上TestCase,TestSuite以及TestSuite組成了一個composite Pattern。 JUnit的文檔中有一篇專門講解如何使用Pattern構造Junit框架。有興趣的朋友可以查看JUnit資料。

           如何運行該測試呢?手工的方法是鍵入如下命令:

    [Windows] d:>java junit.textui.TestRunner testCar
    [Unix] % java junit.textui.TestRunner testCar

    延伸閱讀

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

    33/3<123

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>