Junit4.0使用
阿新 • • 發佈:2018-12-17
一 使用方法
包引入過程和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標籤 ->儲存即可生效