一,背景
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({})