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