1. 程式人生 > >Junit4.0使用

Junit4.0使用

一 使用方法

包引入過程和junit3一樣

使用junit4.x:
   junit4.x基於Java5開始的版本,支援註解.
步驟:
     1.把junit4.x的測試jar,新增到該專案中來;
     2.定義一個測試類.(不再繼承TestCase類)
       測試類的名字: XxxTest
     3.在EmployeeDAOTest中編寫測試方法:如
       @Test
       public void testXxx() throws Exception {
       }
       注意:方法是public修飾的,無返回的,該方法上必須貼有@Test標籤,XXX表示測試的功能名字.
      4.選擇某一個測試方法,滑鼠右鍵選擇 [run as junit],或則選中測試類,表示測試該類中所有的測試方法.
      以後單元測試使用最多的方式:

      若要在測試方法之前做準備操作:
      EmployeeDAOTest隨意定義一個方法並使用@Before標註:
      @Before
      public void xx() throws Exception方法

      若要在測試方法之後做回收操作:
      EmployeeDAOTest隨意定義一個方法並使用@After標註:
      @After
      public void xx() throws Exception方法

      特點:每次執行測試方法之前都會執行Before方法,每次執行測試方法之後都會執行After方法;
      有沒有方式之初始化一次,和最終銷燬一次呢?
      @BeforeClass標籤:在所有的Before方法之前執行,只在最初執行一次. 只能修飾靜態方法
      @AfterClass標籤:在所有的After方法之後執行,只在最後執行一次.   只能修飾靜態方法

      執行順序: BeforeClass->(Before->Test-After多個測試方法)-->AfterClass

方法

package com.OSA.day02.junit4;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class EmployeeDAOTest {


	
	//為了防止忘記新增Before方法,修改text模板 按T搜尋
	@Before
	public  void init() throws Exception {
		System.out.println("初始化..........");
	}
	
	@After
	public void destory() throws Exception {
		System.out.println("銷燬..........");
	}
	
	@Test
	public void testSave() throws Exception {
		System.out.println("save..........");
	}
	
	@Test
	public void testDelete() throws Exception {
		System.out.println("delete..........");
	}
	
	//執行規則不再通過方法名稱字首來處理,而是通過方法上的標籤來讀取方法

}

執行結果

初始化..........
save..........
銷燬..........
初始化..........
delete..........
銷燬..........

還在在所有測試方法最之前執行的

@BeforeClass @AfterClass

public class EmployeeDAOTest {

	//static 修飾  方法不允許引數  在總的方法最之前執行 
	@BeforeClass
	public  static void staticInit() throws Exception {
		System.out.println("begin..........");
	}
	
	@AfterClass
	public static void staticDestory() throws Exception {
		System.out.println("end..........");
	}
	
	
	//為了防止忘記新增Before方法,修改text模板 按T搜尋
	@Before
	public  void init() throws Exception {
		System.out.println("初始化..........");
	}
	
	@After
	public void destory() throws Exception {
		System.out.println("銷燬..........");
	}
	
	@Test
	public void testSave() throws Exception {
		System.out.println("save..........");
	}
	
	@Test
	public void testDelete() throws Exception {
		System.out.println("delete..........");
	}
	
	//執行規則不再通過方法名稱字首來處理,而是通過方法上的標籤來讀取方法

}

執行整個測試類

begin..........
初始化..........
save..........
銷燬..........
初始化..........
delete..........
銷燬..........
end..........

二 注意點

為了防止方法忘記寫@Test 標籤可以修改系統的test快捷鍵

preference->templates-> 按T 搜尋 test->編輯->新增@test標籤 ->儲存即可生效