junit 初步認識

junit4.x

(1)、使用junit4.x版本進行單元測試時,不用測試類繼承TestCase父類,由於,junit4.x全面引入了Annotation來執行咱們編寫的測試。java

(2)、junit4.x版本,引用了註解的方式,進行單元測試;函數

(3)、junit4.x版本咱們經常使用的註解:單元測試

A、@Before 註解:與junit3.x中的setUp()方法功能同樣,在每一個測試方法以前執行;測試

B、@After 註解:與junit3.x中的tearDown()方法功能同樣,在每一個測試方法以後執行;this

C、@BeforeClass 註解:在全部方法執行以前執行;spa

D、@AfterClass 註解:在全部方法執行以後執行;.net

E、@Test(timeout = xxx) 註解:設置當前測試方法在必定時間內運行完,不然返回錯誤;code

F、@Test(expected = Exception.class) 註解:設置被測試的方法是否有異常拋出。拋出異常類型爲:Exception.class;繼承

G、@Ignore 註解:註釋掉一個測試方法或一個類,被註釋的方法或類,不會被執行。get

package test;



import java.util.Arrays;

import java.util.Collection;



import org.junit.After;

import org.junit.AfterClass;

import org.junit.Assert;

import org.junit.Before;

import org.junit.BeforeClass;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.junit.runners.Parameterized;

import org.junit.runners.Parameterized.Parameters;



//(1)步驟一:測試類指定特殊的運行器org.junit.runners.Parameterized  

@RunWith(Parameterized.class)

public class TestT1 {

 

 t1 t1;

 // (2)步驟二:爲測試類聲明幾個變量,分別用於存放指望值和測試所用數據。

 int x, y, z,expected;

 // (3)步驟三:爲測試類聲明一個帶有參數的公共構造函數,並在其中爲第二個環節中聲明的幾個變量賦值。

 public TestT1(int x, int y, int z,int expected) {

 System.out.println("初始化");

 this.x = x;

 this.y = y;

 this.z = z;

 this.expected = expected;

 }



 // (4)步驟四:爲測試類聲明一個使用註解 org.junit.runners.Parameterized.Parameters 修飾的,返回值爲

 // java.util.Collection 的公共靜態方法,並在此方法中初始化全部須要測試的參數對。

 @Parameters

 public static Collection Data() {



 

 }

 

 @BeforeClass

 // 在全部方法執行以前執行

 public static void globalInit() {

 //System.out.println("init all method...");

 }



 @AfterClass

 // 在全部方法執行以後執行

 public static void globalDestory() {

 //System.out.println("destory all method...");

 }

 @Before

 // 在每一個測試方法以前執行

 public void setUp() {

 //System.out.println("start setUp method");

 t1=new t1();

 }



 @After

 // 在每一個測試方法以後執行

 public void tearDown() {

 //System.out.println("end method");

 }

 

 @Test

 public void testWork1() {

 

 int act = t1.work(x, y, z);

 Assert.assertEquals(expected, act);

 }



 @Test

 public void testWork2() {

 int act = t1.work(x, y, z);

 Assert.assertEquals(expected, act);

 }



 @Test

 public void testWork3() {

 int act = t1.work(x, y, z);

 Assert.assertEquals(expected, act);

 }



 @Test(timeout = 1000)

 public void testWork4() {

 int act = t1.work(x, y, z);

 Assert.assertEquals(expected, act);

 }

}
相關文章
相關標籤/搜索