一,背景
1,隨着開發規模的深入和擴大,項目或越來越大,相應的我們的測試類也會越來越多;那么就帶來一個問題,假如測試類很多,就需要多次運行,造成測試的成本增加;此時就可以使用junit批量運行測試類的功能,junit test suite,測試套件;每次運行測試類,只需要執行一次測試套件類就可以運行所有的測試類;
二,開始編寫代碼展示
1,右鍵test/com.duo.util->new->Junit test case
測試類有個特點,就是它是一個空類
需要修改測試運行器:
1 package com.duo.util; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.Test; 6 import org.junit.runner.RunWith; 7 import org.junit.runners.Suite; 8 9 @RunWith(Suite.class) 10 @Suite.SuiteClasses({TaskTest1.class, TaskTest2.class, TaskTest3.class}) 11 public class SuiteTest { 12 13 14 }
運行結果:
1 This is TaskTest1... 2 This is TaskTest2... 3 This is TaskTest3...
2,第一步中的 TaskTest1.class, TaskTest2.class, TaskTest3.class代碼如下:且都是在test/com.duo.util目錄下:
TaskTest1代碼:
1 package com.duo.util; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.Test; 6 7 public class TaskTest1 { 8 9 @Test 10 public void test() { 11 System.out.println("This is TaskTest1..."); 12 } 13 14 }
TaskTest2代碼:
1 package com.duo.util; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.Test; 6 7 public class TaskTest2 { 8 9 @Test 10 public void test() { 11 System.out.println("This is TaskTest2... "); 12 } 13 14 }
TaskTest3代碼:
1 package com.duo.util; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.Test; 6 7 public class TaskTest3 { 8 9 @Test 10 public void test() { 11 System.out.println("This is TaskTest3..."); 12 } 13 14 }
三,總結:
1,測試套件就是組織測試類一起運行的;
2,寫一個作為測試套件的入口類,這個類中不能包含任何方法
3,更改測試運行器:@RunWith(Suite.class)
4,將要測試的類作為數組傳入到:Suite.SuiteClasses({})