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

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

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

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

    軟件測試中JBuilder單元測試實例

    發布: 2009-9-09 11:07 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 29次 | 進入軟件測試論壇討論

    領測軟件測試網

    3 使用斷言(Assert)
            開發人員熟悉其他編程環境通常的斷言概念。例如,在C和C++中,assert()宏是常常用來測試一個正確的結論到一個潛在問題的操作。在JUnit中,您可以直接從測試實例中調用任何Assert方法,因為TestCase 是Assert的子類。

    [NextPage]
     
            不像C和C++語言中assertion 宏的發現,Assert類–被定義和應用為junit.framework.Assert,具有的功能如下所示。
    Assert.assertEquals
    Assert.assertNotNull
    Assert.assertNull
    Assert.assertSame
    Assert.assertTrue
    Assert.fail
            除fail成員函數外,上述所有其他符號重載的函數將執行一個測試,來決定是否產生錯誤信息。相反,直接調用fail將通過Assert.fail(String)或Assert.fail()通知Assert為fail。

            在Assert類中有許多方法,每個設計執行一個斷言都有所不同。這些方法中的任何一個都觸發測試失敗。
    為瀏覽junit.framework.Assert中的不同方法,在編輯器中打開一個測試實例,在結構面板上雙擊TestCase 父類,然后雙擊它的父類Assert。

    4 使用setUp()和tearDown()
            我們能在測試實例中使用setUp和tearDown方法,以減少重復代碼。在任何測試函數前后,setUp和tearDown方法都應被調用。測試類的代碼如下:

    public class TestMoney extends TestCase {
    Money101 f12EUR;
    Money101 f14EUR;

    public TestMoney101(String s) {
    super(s);
    }protected void setUp() {
    // set up the fixture
    f12EUR = new Money101(12, "EUR");
    f14EUR = new Money101(14, "EUR");
    }

    protected void tearDown() {
    }public void testAddMoney101() {
    Money101 expected = new Money101(26, "EUR");
    Money101 result = f12EUR.addMoney101(f14EUR);
    Assert.assertTrue(expected.equals(result));
    }public void testEquals() {
    Assert.assertTrue(!f12EUR.equals(null));
    Assert.assertTrue(f12EUR.equals(f12EUR));
    Assert.assertTrue(f12EUR.equals(new Money101(12, "EUR"));
    Assert.assertTrue(!f12EUR.equals(f14EUR));
    }

    }

    5 測試集
            測試實例可以被集成為測試集。頂層的測試集應該包含其他所有的測試實例和(或)測試集。

            測試實例和測試集都是TestCase 的擴展并執行Test 接口。測試實例和測試集惟一的區別是測試實例包含單獨的測試方法,而測試集通常用來組織其他單元實例到一個邏輯的組中,并把它們作為組來運行。測試集可以調用任何測試實例或測試集。

            有兩種方法執行測試集,分別為:靜態和動態。在靜態和動態測試中,您都必須提供一個靜態方法建立測試集。

    5.1 建立動態測試
            有兩種方法建立動態測試實例。第一種方法不僅允許您動態地實例化Test,也可以允許您動態地為正在運行的測試實例加入單獨的測試。相應的代碼如下:

    public static Test suite() {
    TestSuite suite = new TestSuite();
    suite.addTest(new TestMoney101("testEquals"));
    suite.addTest(new TestMoney101("testAddMoney"));
    return suite;
    }

            suite()函數返回一個Test的接口,此接口是被動態建立的。每個測試方法都可以被單獨增加。
    我們不僅可以單獨增加每個測試到動態實例,而且可以使用符合字符串的構造函數,相應的代碼如下:

    public static Test suite() {
    return new testSuite(TestMoney101.class);
    }

    5.2 建立靜態測試

    [NextPage]
     
            這是使用靜態Test建立同樣功能的代碼。

    public static Test suite() {
    TestSuite suite = new TestSuite();
    suite.addTest(new TestMoney101("money equals") {
    protected void runTest() { testEquals(); }
    });
    suite.addTest(new TestMoney101("money add") {
    protected void runTest() { testAddMoney101(); }
    });
    return suite;
    }

    5.3 JBuilder界面
            在JBuilder中使用Test Runner的這些測試輸出樣式如下圖所示。

    JBuilder中提供了3種test runner 的類型。每個test runner 對應一個特定的用戶界面。
    JUnit Text UI
    JUnit Swing UI
    JUnit Awt UI

            您可以選擇【Project】→【Properties】命令或【Run】→【Configurations】命令中Run面板,在其中選擇Test Runner。每個Test Runner都由Borland JBuilder 集成到測試框架中。
    如果測試失敗,將以一個紅色小球作為標記。在 JBuilder 中雙擊該測試方法,您可以直接看到其源代碼。

    延伸閱讀

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

    22/2<12

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