Junit4 快速入門

2021-08-29 11:48:16 字數 2295 閱讀 5908

junit 概念,原理這裡就不說了,有興趣的朋友可以查閱相關資料,這篇文章主要是為了快速給大家介紹一下junit4的使用 以及與 junit3的區別,這裡預設大家對junit3已經有些理解了。

下面就開始吧:

1.先寫個簡單的被測試類:

package test.junit;

public class baseclass

}2.對於這個類的unit測試,我們先看看在junit3中怎麼進行測試的吧:

package test.junit;

import junit.framework.testcase;//引入testcase類

public class baseclasstest extends testcase

public void testmethod ()

}通過上面這個類,我們對junit3進行一些總結:

1. 必須引入類testcase(import junit.framework.testcase;),

2. 必須繼承類testcase (class baseclasstest extends testcase)

3. 測試方法必須以test開頭(public void testmethod ())

4. 通過assert*方法來判斷結果(asserttrue(baseclass.method ().equals("test.junit.baseclass"));)。

3. 下面來了解一下junit4裡面的內部關係吧,從這個圖中你可以看出junit4的主要功能:

下面來看看我們今天的主角junit4是怎麼處理這些的吧:

package test.junit;

import org.junit.test;//引入test類

import static org.junit.assert.*;//引入assert.*包

public class baseclasstestnew

}看看多麼的簡潔,好像少了很多約束,下面通過和junit3的特性進行比較總結junit4的特性:

1.必須引入類testcase(import junit.framework.testcase;

è必須引入類test(import org.junit.test;),必須引入類(import static org.junit.assert.*;)

2.必須繼承類testcase (class baseclasstest extends testcase)

è不需要

3.測試方法必須以test開頭(public void testmethod ())

è不需要,但是類開始的時候要標記 @test

4.通過assert*方法來判斷結果(asserttrue(baseclass.method ().equals("test.junit.baseclass"));)。

從上面的對比,可以看出junit4與junit3的區別在於:

去掉與類testcase的偶聯性,唯一觸發testcase的地方就是在@test上。

4.以上就是junit4與junit3的區別與改進,下面再繼續看看junit4有哪些新增加的功能吧:

1. @before 和 @after

類似於init() 和destory(),可以將一些初始化和釋放工作放到這裡面,每個類都只有乙個@before 和 @after。為了實現這個功能,我們將測試類修改如下:

import org.junit.test;

//新增加兩個類

import org.junit.before;

import org.junit.after;

import static org.junit.assert.*;

public class baseclasstestnew

@test public void method ()

@after public void runaftertest()

}@before 方法會在 @test 之前進行,相反 @after 會在所有方法執行完進行。

2.timeout 屬性

junit4支援timeout,運用如下:

a. 首先在被測試類中增加用於測試timeout的方法:

public void methodtimeout() catch (interruptedexception e)

}b.看看怎麼測試這個方法:

@test(timeout=5)

public void methodtimeout()

1. 增加(timeout=5)這個設定項

2. 執行完 沒有輸出methodtimeout,說明這個方法沒有執行完,達到效果。

Junit4學習(五)Junit4測試套件

一,背景 1,隨著開發規模的深入和擴大,專案或越來越大,相應的我們的測試類也會越來越多 那麼就帶來乙個問題,假如測試類很多,就需要多次執行,造成測試的成本增加 此時就可以使用junit批量執行測試類的功能,junit test suite,測試套件 每次執行測試類,只需要執行一次測試套件類就可以執行...

JUnit4常用注釋

常用注釋 解釋 test 定義乙個要測試的方法 before 在每乙個測試之前,都會被執行的方法,這個方法常常被用來進行一些測試環境的初始化 after 與 before進行對應,在測試結束後,做一些清理工作 beforeclass 在所有測試開始之前執行,這個方法在類執行的時候執行,而且只會執行一...

junit4常用註解

test 將乙個普通的方法修飾成乙個測試方法 test expected exception.class 若測試時改方法丟擲 exception異常則測試成功 test timeout 毫秒 超出該時間則停止執行 beforeclass 它會在該測試類的所有方法執行前執行,static修飾,只執行一...