您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
《Junit in Action》學(xué)習(xí)筆記
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/2/26 14:21:04 ] 推薦標(biāo)簽:

   ⑥Junit斷言簡介:(都繼承自Assert超類)
        |- assertEquals(a, b)
          Asserts that two primitive values are equal.
          測試a是否等于b(a和b是原始類型數(shù)值(primitive value)或者必須為實現(xiàn)比較而具有equal方法)

        |- assertFalse(a)
          Asserts that a condition (a) is false.
          測試a是否為false(假),a是一個Boolean數(shù)值。

        |- assertTrue(a)
          Asserts that a condition is true.
          測試a是否為true(真),a是一個Boolean數(shù)值

        |- assertNotNull(a)
          Asserts that an object isn't null.
          測試a是否非空,a是一個對象或者null。

        |- assertNull(a)
          Asserts that an object is null.
          測試a是否為null,a是一個對象或者null。

        |- assertNotSame(a, b)
          Asserts that two objects do not refer to the same object.
          測試a和b是否沒有都引用同一個對象。

        |- assertSame(a, b)
          Asserts that two objects refer to the same object.
          測試a和b是否都引用同一個對象。
        |- fail(message)
           當(dāng)程序錯誤時候,輸出錯誤消息

        |-自定義斷言
           通常而言,JUnit所提供的標(biāo)準(zhǔn)斷言對大多數(shù)測試已經(jīng)足夠了。然而,在某些環(huán)境下,我們可能更需要自定義一些斷言來滿足我們的需要。
           通常的做法是定義一個TestCase的子類,并且使用這個子類來滿足所有的測試。新定義的共享的斷言或者公共代碼放到這個子類中。

     ⑦ Junit佳實踐:
        |- 一次只有一個測試對象:(當(dāng)無法預(yù)計這些對象發(fā)生改變時不會造成相互影響)

       |- 選擇有一個的測試方法名:testXxx命名模式(Xxx為待測方法)。若在同一個方法增添其他測試testXxxYyy的命名模式

        |- Assert調(diào)用總解釋失敗原因。第一個參數(shù)務(wù)必為描述文本

        |- setUp方法用來實例化DefaultController. Junit會在調(diào)用其他之前調(diào)用

        |- 一個單元測試等于一個測試方法(簡介、專注)

       |- 測試任何可能失敗的事務(wù)

        |- 讓測試改善代碼
            編寫單元測試常常有助有你寫出更好的代碼。理由很簡單:test case是你代碼的用戶只有在使用代碼時才能發(fā)現(xiàn)代碼的缺點。所以,不要猶豫,應(yīng)當(dāng)根據(jù)測試時發(fā)現(xiàn)的不使之處重構(gòu)代碼,使其易于使用。測試驅(qū)動開發(fā)(TDD)的實踐依賴于這條原則。通過先編寫測試,你可以從黛米用戶的角度來開發(fā)你的類。

        |- 讓異常測試易懂。把case塊中異常變量命名為expected
       |- 同一個包,分離目錄

3.軟件測試類型分為四類:(集成測試、功能測試、壓力/負(fù)荷測試、驗收測試)

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd