您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnit測試骨架簡介
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/4/9 16:55:26 ] 推薦標(biāo)簽:

  JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試框架(regression testing framework)。Junit測試是程序員測試,即白盒測試。該項目主頁:http://www.junit.org/

  JUnit測試骨架

  使用JUnit時,主要都是通過繼承TestCase類別來撰寫測試用例,使用testXXX()名稱來撰寫單元測試。

  用JUnit寫測試真正所需要的三件事:

  1. 一個import語句引入所有junit.framework.*下的類。

  2. 一個extends語句讓你的類從TestCase繼承。

  3. 一個調(diào)用super(string)的構(gòu)造函數(shù)。

  功能類MathTool

  package com.zj.c01;public class MathTool { public static int gcd(int num1, int num2) { int r = 0; while (num2 != 0) { r = num1 % num2; num1 = num2; num2 = r; } return num1; } }

  測試類MathToolTest

  package com.zj.c01;import junit.framework.TestCase; public class MathToolTest extends TestCase { public MathToolTest(String name) { super(name); } public void testGcd() { assertEquals(5, MathTool.gcd(10, 5)); } }

  使用Eclipse-Run As JUnit Test

  在運行TestRunner執(zhí)行測試時,你會發(fā)現(xiàn)到有Failure與Error兩種測試尚未通過的信息。

  Failure指的是預(yù)期的結(jié)果與實際運行單元的結(jié)果不同所導(dǎo)致,例如當(dāng)使用assertEquals()或其它assertXXX()方法斷言失敗時,會回報Failure,這時候要檢查你的單元方法中的邏輯設(shè)計是否有誤。

  Error指的是你的程序沒有考慮到的情況,在斷言之前程序因為某種錯誤引發(fā)例外而終止,例如在單元中存取某個數(shù)組,因為存取超出索引而引發(fā) ArrayIndexOutOfBoundsException,這會使得單元方法無法正確完成,在測試運行到asertXXXX()前提前結(jié)束,這時候要檢查你的單元方法中是否有未考慮到的情況而引發(fā)流程突然中斷。

  JUnit的各種斷言

  JUnit提供了一些輔助函數(shù),用于幫助你確定某個被測試函數(shù)是否工作正常。通常而言,我們把所有這些函數(shù)統(tǒng)稱為斷言。斷言是單元測試基本的組成部分。

  1. assertEquals([String message], expected,actual)

  比較兩個基本類型或?qū)ο笫欠裣嗟?expected和actual是原始類型數(shù)值(primitive value)或者必須為實現(xiàn)比較而具有equal方法);

  2.assertFalse([String message],boolean condition)

  對布爾值求值,看它是否為“真“;

  3.assertTrue([String message],boolean condition)

  對布爾值求值,看它是否為“假“;

  4.assertNull([String message],java.lang.Object object)

  檢查對象是否為“空“;

  5.assertNotNull([String message],java.lang.Object object)

  檢查對象是否不為“空”;

  6.assertSame([String message],expected,actual)

  檢查兩個對象是否為同一實例;

  7.assertNotSame([String message],expected,actual)

  檢查兩個對象是否不為同一實例;

  8. fail( String message )

  使測試立即失敗,其中 message 參數(shù)使可選的。這種斷言通常被用于標(biāo)記某個不應(yīng)該到達的分支(例如,在一個預(yù)期發(fā)生的異常之后) 。

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