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

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

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

    隨筆 - 251  文章 - 504  trackbacks - 0
    <2006年11月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    本博客系個(gè)人收集材料及學(xué)習(xí)記錄之用,各類“大俠”勿擾!

    留言簿(14)

    隨筆分類

    收藏夾

    My Favorite Web Sites

    名Bloger

    非著名Bloger

    搜索

    •  

    積分與排名

    • 積分 - 202583
    • 排名 - 285

    最新評(píng)論

    3.6、JUnit一個(gè)實(shí)例

    在控制臺(tái)中簡(jiǎn)單的范例如下:
    1、寫個(gè)待測(cè)試的Triangle類,創(chuàng)建一個(gè)TestCase的子類ExampleTest:
    2、 ExampleTest中寫一個(gè)或多個(gè)測(cè)試方法,斷言期望的結(jié)果(注意:以test作為待測(cè)試的方法的開頭,這樣這些方法可以被自動(dòng)找到并被測(cè)試)
    3、 ExampleTest中寫一個(gè)suite()方法,它會(huì)使用反射動(dòng)態(tài)的創(chuàng)建一個(gè)包含所有的testXxxx方法的測(cè)試套件:
    4、 ExampleTest可以寫setUp()、tearDown()方法,以便于在測(cè)試時(shí)初始化或銷毀測(cè)試所需的所有變量和實(shí)例。(不是必須的)

    5、寫一個(gè)main()方法以文本運(yùn)行器或其它GUI的方式方便的運(yùn)行測(cè)試

    6、編譯ExampleTest,執(zhí)行測(cè)試。

    3.7、Eclipse中JUnit的使用

    Eclipse自帶了一個(gè)JUnit的插件,不用安裝就可以在你的項(xiàng)目中開始測(cè)試相關(guān)的類,并且可以調(diào)試你的測(cè)試用例和被測(cè)試類。

    使用步驟如下:

    1、新建一個(gè)測(cè)試用例,點(diǎn)擊“File->New->Other…菜單項(xiàng),在彈出的“New”對(duì)話框中選擇”Java->JUnit”,下的TestCase 或TestSuite,就進(jìn)入“New JUnit TestCase”對(duì)話框

    2、在“New JUnit TestCase”對(duì)話框填寫相應(yīng)的欄目,主要有Name(測(cè)試用例名),SuperClass(測(cè)試的超類一般是默認(rèn)的junit.framework.TestCase),Class Under Test(被測(cè)試的類),Source Folder(測(cè)試用例保存的目錄),Package(測(cè)試用例包名),及是否自動(dòng)生成main,setUp,tearDown方法。

    3、如果點(diǎn)擊下面的”Next>”按鈕,你還可以直接勾選你想測(cè)試的被測(cè)試類的方法,Eclipse將自動(dòng)生成與被選方法相應(yīng)的測(cè)試方法,點(diǎn)擊“Fishish”按鈕后一個(gè)測(cè)試用例就創(chuàng)建好了。

    4、編寫完成你的測(cè)試用例后,點(diǎn)擊“Run”按鈕就可以看到運(yùn)行結(jié)果了。

    3.8、JUnit的擴(kuò)展應(yīng)用

    以下羅列了些JUnit的擴(kuò)展應(yīng)用:

    JUnit + HttpUnit=WEB功能測(cè)試工具
    JUnit + hansel =代碼覆蓋測(cè)試工具
    JUnit + abbot =界面自動(dòng)回放測(cè)試工具
    JUnit + dbunit =數(shù)據(jù)庫(kù)測(cè)試工具
    JUnit + junitperf=性能測(cè)試工具

    3.9、一些使用JUnit經(jīng)驗(yàn)

    不要用TestCase的構(gòu)造函數(shù)初始化,而要用setUp()和tearDown()方法。
    不要依賴或假定測(cè)試運(yùn)行的順序,因?yàn)镴Unit利用Vector保存測(cè)試方法。所以不同的平臺(tái)會(huì)按不同的順序從Vector中取出測(cè)試方法。
    避免編寫有副作用的TestCase。例如:如果隨后的測(cè)試依賴于某些特定的交易數(shù)據(jù),就不要提交交易數(shù)據(jù)。簡(jiǎn)單的回滾就可以了。
    當(dāng)繼承一個(gè)測(cè)試類時(shí),記得調(diào)用父類的setUp()和tearDown()方法。
    將測(cè)試代碼和工作代碼放在一起,一邊同步編譯和更新。
    測(cè)試類和測(cè)試方法應(yīng)該有一致的命名方案。如在工作類名前加上test從而形成測(cè)試類名。
    確保測(cè)試與時(shí)間無關(guān),不要依賴使用過期的數(shù)據(jù)進(jìn)行測(cè)試。導(dǎo)致在隨后的維護(hù)過程中很難重現(xiàn)測(cè)試。
    如果你編寫的軟件面向國(guó)際市場(chǎng),編寫測(cè)試時(shí)要考慮國(guó)際化的因素。不要僅用母語的Locale進(jìn)行測(cè)試。
    盡可能地利用JUnit提供地assert/fail方法以及異常處理的方法,可以使代碼更為簡(jiǎn)潔。
    測(cè)試要盡可能地小,執(zhí)行速度快。


    參考資料與附件

    1. http:// www.junit.org JUnit官方網(wǎng)站

    2. http://bbs.51cmm.com 的測(cè)試論壇

    3. http://www.uml.org.cn 的軟件測(cè)試專欄

    4. 單元測(cè)試 《程序員》 2002年7期

    5. JUnit設(shè)計(jì)模式分析 《程序員》2003年6期

    6. 《軟件測(cè)試和JUnit實(shí)踐》

    7. 附件Triangle.java 一個(gè)要測(cè)試的類


    Triangle.java

    /**

    * this is Triangle class

    * @author liujun

    */

    public class Triangle

    {

    //定義三角形的三邊

    protected long lborderA = 0;

    protected long lborderB = 0;

    protected long lborderC = 0;

    ?

    //構(gòu)造函數(shù)

    public Triangle(long lborderA,long lborderB,long lborderC)

    {

    this.lborderA = lborderA;

    this.lborderB = lborderB;

    this.lborderC = lborderC;

    }

    /**

    * 判斷是否是三角形

    * 是返回ture;不是返回false

    */

    public boolean isTriangle(Triangle triangle)

    {

    boolean isTrue = false;

    //判斷邊界,大于0小于200,出界返回false

    if((triangle.lborderA>0&&triangle.lborderA<200)

    &&(triangle.lborderB>0&&triangle.lborderB<200)

    &&(triangle.lborderC>0&&triangle.lborderC<200))

    {

    //判斷兩邊之和大于第三邊

    if((triangle.lborderA<(triangle.lborderB+triangle.lborderC))

    &&(triangle.lborderB<(triangle.lborderA+triangle.lborderC))

    &&(triangle.lborderC<(triangle.lborderA+triangle.lborderB)))

    isTrue = true;

    }

    return isTrue;

    }

    ?

    /**

    * 判斷三角形類型

    * 等腰三角形返回字符串“等腰三角形”;

    * 等邊三角形返回字符串“等邊三角形”;

    * 其它三角形返回字符串“不等邊三角形”;

    */

    public String isType(Triangle triangle)

    {

    String strType = "";

    // 判斷是否是三角形

    if(this.isTriangle(triangle))

    {

    //判斷是否是等邊三角形 if(triangle.lborderA==triangle.lborderB&&triangle.lborderB==triangle.lborderC)

    strType = "等邊三角形";

    //判斷是否是不等邊三角形

    else if((triangle.lborderA!=triangle.lborderB)&&

    (triangle.lborderB!=triangle.lborderC)&&

    (triangle.lborderA!=triangle.lborderC))

    strType = "不等邊三角形";

    else

    strType="等腰三角形";

    }

    return strType;

    }

    }

    8. 附件ExampleTest.java 一個(gè)測(cè)試用例類

    ExampleTest.java

    import junit.framework.*;

    /**

    * Some tests.

    *

    */

    public class ExampleTest extends TestCase {

    public Triangle triangle;

    //初始化

    protected void setUp() {

    triangle=new Triangle(10,2,9);

    }

    ?

    public static Test suite() {

    return new TestSuite(ExampleTest.class);

    }

    //函數(shù)isTriangle()的測(cè)試用例

    public void testIsTriangle() {

    assertTrue(triangle.isTriangle(triangle));

    }

    //函數(shù)isType()的測(cè)試用例

    public void testIsType()

    {

    assertEquals("這次測(cè)試",triangle.isType(triangle),"不等邊三角形");

    }

    ?

    //執(zhí)行測(cè)試

    public static void main (String[] args) {

    //文本方式

    junit.textui.TestRunner.run(suite());

    //Swingui方式

    //junit.swingui.TestRunner.run(suite().getClass());

    //awtui方式

    //junit.awtui.TestRunner.run(suite().getClass());

    ?

    }

    }

    posted on 2006-11-26 15:16 matthew 閱讀(483) 評(píng)論(0)  編輯  收藏 所屬分類: 軟件測(cè)試技術(shù)
    主站蜘蛛池模板: 成人免费黄色网址| 亚洲精品一级无码中文字幕| 亚洲人成网站在线在线观看| 国产一级理论免费版| 两个人的视频www免费| 亚洲一区二区影视| 亚洲免费一区二区| h视频在线免费看| 免费人成网站永久| 亚洲成人动漫在线观看| 亚洲成片观看四虎永久| 亚洲精品国产免费| 草久免费在线观看网站| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲精品无码久久不卡| 日韩免费a级毛片无码a∨| 一个人看的www在线免费视频| 亚洲av无码不卡久久| 久久久久国产成人精品亚洲午夜 | 久艹视频在线免费观看| 亚洲国产精品18久久久久久| 亚洲国产精品无码久久SM| 青青草国产免费久久久91| 免费视频成人手机在线观看网址| 亚洲AV无码AV日韩AV网站| 亚洲精品自拍视频| 亚洲精品无码鲁网中文电影| 午夜免费福利在线观看| 91免费国产自产地址入| 久久av免费天堂小草播放| 亚洲avav天堂av在线网毛片| 亚洲精品福利网泷泽萝拉| 最新亚洲成av人免费看| 国产又粗又长又硬免费视频| 免费黄色网址网站| 日韩免费在线视频| 黄视频在线观看免费| 婷婷国产偷v国产偷v亚洲| 天堂亚洲国产中文在线| 亚洲成aⅴ人片在线观| 亚洲成年轻人电影网站www|