Junit學習第二篇-Junit簡介

Junit是一個開源框架,可以寫重複的自動化測試來確保代碼的正確。它能夠提供:

(1)期望結果測試告警

(2)共享常用的測試數據

(3)易於組織和運行測試的測試套件

(4)圖形化的測試運行

它可以被用來測試:

(1)一個完成的對象;

(2)一個對象的一部分--一個方法或者是一些相關聯的方法;

(3)幾個對象之間的關聯

1、Junit的簡單例子

有下面一個類:

 

package com.junit.calc;


public class Calculate{

    public int sum(int val1, int val2){

        System.out.println("adding value: "  + val1 + "+" + val2);

        return  val1 + val2;
    }
}

包含一個方法sum,接受兩個int類型的變量,並返回兩個變量的和。

 

現在用Junit對其進行測試,代碼如下:

 

import com.junit.calc.Calculate;
import junit.framework.Assert;
import org.junit.Test;

public class CalculateTest{


    Calculate calc = new Calculate();
    int sum = calc.sum(2, 8);
    int testSum = 7;

    @Test
    public  void testSum(){
        System.out.println("@test sum" + sum + "=" +testSum);

        Assert.assertEquals(testSum, sum);
    }

}

 首先是有一個@Test註解,這個註解表明了testSum方法是用來測試的,然後是

 

Assert.assertEquals(testSum, sum);

這個方法用來對比期望和實際的值,當兩個值相等時不會告警,輸出兩個值告警,當兩個值不相等時,告警,並中斷程序執行。

 

2、Junit的註解介紹

(1)@Test  該註解表明了它所附屬的public void 方法是一個測試實例。

(2)@Before 該註解表明了它所附屬的方法必須在測試之前執行,以便執行一些測試前的預處理。

(3)@BeforeClass 該註解表明它所附屬的靜態方法只能執行一次,並且只能在所有測試之前執行。

(4)@After 該註解表明它所附屬的方法在每一個測試完成之後都會執行,用於重置一些測試之後的變量。

(5)@AfterClass 該註解表明它所附屬的方法在所有測試完成之後執行。

 

3、Junit assertions

   Junit提供了一系列的Assert方法, 下面進行簡單介紹。

(1)assertEquals 斷言兩個值是相等的,其中的兩個值一個指的是期望值,一個指的是實際值。值可以是int boolen short long byte char 或者是object類型。

(2)assertTrue  斷言判斷條件是否爲真

(3)assertFalse 斷言判斷條件是否爲假

(4)assertNull 斷言一個對象是空的

(5)assertNotNull 斷言一個對象不是空的

(6)assertSame  斷言兩個對象引用指向的是同一個對象

(8)assertNotSame  斷言兩個對象引用指向的是不同對象

(9)assertArrayEquals 斷言兩個數組是相等的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章