<input id="0qass"><u id="0qass"></u></input>
  • <input id="0qass"><u id="0qass"></u></input>
  • <menu id="0qass"><u id="0qass"></u></menu>

    junit單元測試快速入門

    軟件測試 同時被 2 個專欄收錄
    15 篇文章 0 訂閱
    3 篇文章 0 訂閱

    目錄

    一。在eclipse中打開或新建被測項目工程

    ?1.新建java工程 JunitDemo001,并添加文件 Calc.java

    ?2.為類文件添加代碼

    ?二。使用junit創建單元測試用例

    ?三。完善和增加用例

    ?四、運行單元測試用例

    junit 補充知識:

    1.junit注解

    2.junit斷言

    3.junit'測試用例執行結果的查看

    4.測試覆蓋率的監控

    5.junit的異常處理


    ? ? ? ?軟件測試按照階段可以分為單元測試、集成測試、系統測試和驗收測試。

    ? ? ? ?單元測試中的單元指的是函數,即要對軟件系統的最小組成單元的函數進行測試,驗證其是否符合詳細規格說明的要求。出于產品質量要求和投入產出等諸多方面的考慮,大多數軟件系統只進行系統測試,不進行單元測試。但是當當一個系統的質量要求較高時,往往需要進行單元測試。

    ? ? ? 單元測試通常需要有代碼經驗的專業人員完成,采用單元測試工具可以大大提高測試效率。
    ? ? ? JUnit 是一個廣泛使用的 Java 語言的單元測試框架。無論是開發還是一名測試人員,掌握junit都很有意義。

    一。在eclipse中打開或新建被測項目工程

    為了便于大家學習,減少由于代碼不同而產生的差異,下面大家跟隨我創建一個簡單的java工程,作為被測代碼。

    ?1.新建java工程 JunitDemo001,并添加文件 Calc.java

    ?

    ?

    ?

    ?2.為類文件添加代碼

    代碼替換為如下信息:

    package nfu.com;  //如果上個界面沒有指定包名,則此處可以去掉
    
    public class Calc {
    	int add(int a,int b)
    	{
    		int c ;
    		c= a+b;
    		return c;
    	}
    
    	int substract(int a,int b)
    	{
    		int c ;
    		c= a-b;
    		return c;
    	}
    	
    	int mulitple(int a,int b)
    	{
    		int c ;
    		c= a*b;
    		return c;
    	}
    	
    	int divid(int a,int b)
    	{
    		int c ;
    		if(b == 0)
    		{
    			throw new ArithmeticException("fengmu can not be 0");
    		}
    		c= a/b;
    		return c;
    	}
    	
    	public static void main(String[] args)
    	{
    		Calc c = new Calc();
    		System.out.print("c.add(3,4) = "+ c.add(3,4));
    	}
    
    }

    ?如果代碼運行可以正常輸出結果,則代碼正常,就可以開始進行單元測試了!

    ?二。使用junit創建單元測試用例

    ?1:選定待測java源代碼文件,點擊右鍵菜單 new -> other ->?Junit test case

    ??本次測試的僅有一個被測文件,且只有一個被測類,所以就不用創建測試套件了,我們直接創建測試用例即可

    ?

    ?

    ?

    ?三。完善和增加用例

    根據需要修改和添加單元測試用例。

    	@Test
    	void testAdd01() {
    		Calc c = new Calc();
    		assertEquals(6, c.add(2,4));  //驗函數c.add(2,4)的值是否為6
    	}
    
    	@Test
    	void testAdd02() {
    		Calc c = new Calc();
    		assertEquals(-6, c.add(-2,-4));  //驗函數c.add(-2,-4)的值是否為-6

    @Test是junit的注解,表明該方法未單元測試用例。

    軟件測試是通過檢測實際值與預期值來驗證軟件是否符合需求、

    單元測試時,我們會檢測函數的返回值是否與預期結果一致,junit框架提供了大量的斷言函數,幫助我們進行實際結果和預期結果的比較。

    如下所示

    ?四、運行單元測試用例

    點擊工具跳上的 運行按鈕(綠色三角)即可運行測試用例,

    結果如下圖所示,

    junit視圖打開,上方是執行的匯總情況,總共執行多少個用例,出錯多少,失敗多少。

    下方的樹上顯示了各個測試用例執行情況,綠色表示執行通過,藍色表示失敗,紅色表示出錯。

    ?至此,你已經順利完成了測試用例的編寫與執行,是不是很開心 :)

    根據需要你可以增加更多的用例,以達到更高的覆蓋率,對代碼進行充分測試,

    junit 補充知識:

    1.junit注解

    junit5的詳細注解說明見junit官網的注解介紹鏈接

    除了@Test注解,你還可以使用@Before @After等注解

    2.junit斷言

    ?junit5的各種斷言方法參見 junit官網斷言函數說明

    3.junit'測試用例執行結果的查看

    關于測試用例執行結果的查看??梢酝ㄟ^用例圖標顏色了解用例執行是否通過。也可以選中相應的用例,在“faliure trace”窗口查看用例失敗的原因

    4.測試覆蓋率的監控

    單元測試通常以覆蓋率作為測試要求,使用一些工具可以有效的幫助我們了解測試用例的覆蓋情況

    具體 可以參看?EclEmma 覆蓋率插件的安裝和使用?

    5.junit的異常處理

    方法一:判定用例執行是否出現指定的異常,具體位置不要求

    @Test注解允許帶有參數 expected,該參數可以指定用例執行預期出現的異常

    方法二:判定用例執行是否在指定位置出現異常,并且可以對異常的屬性進行判斷

    ?

    • 0
      點贊
    • 6
      評論
    • 3
      收藏
    • 一鍵三連
      一鍵三連
    • 掃一掃,分享海報

    ??2020 CSDN 皮膚主題: 大白 設計師:CSDN官方博客 返回首頁
    實付
    使用余額支付
    點擊重新獲取
    掃碼支付
    錢包余額 0

    抵扣說明:

    1.余額是錢包充值的虛擬貨幣,按照1:1的比例進行支付金額的抵扣。
    2.余額無法直接購買下載,可以購買VIP、C幣套餐、付費專欄及課程。

    余額充值
    多乐彩