
一,背景
1,随着开发规模的深入和扩大,项目或越来越大,相应的我们的测试类也会越来越多;那么就带来一个问题,假如测试类很多,就需要多次运行,造成测试的成本增加;此时就可以使用junit批量运行测试类的功能,junit test suite,测试套件;每次运行测试类,只需要执行一次测试套件类就可以运行所有的测试类;
二,开始编写代码展示
1,右键test/com.duo.util->new->Junit test case
测试类有个特点,就是它是一个空类
需要修改测试运行器:
package com.duo.util; import static org.junit.Assert.*; import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite; @RunWith(Suite.class)
@Suite.SuiteClasses({TaskTest1.class, TaskTest2.class, TaskTest3.class})
public class SuiteTest { }
运行结果:
This is TaskTest1...
This is TaskTest2...
This is TaskTest3...
2,第一步中的 TaskTest1.class, TaskTest2.class, TaskTest3.class代码如下:且都是在test/com.duo.util目录下:
TaskTest1代码:
package com.duo.util; import static org.junit.Assert.*; import org.junit.Test; public class TaskTest1 { @Test
public void test() {
System.out.println("This is TaskTest1...");
} }
TaskTest2代码:
package com.duo.util; import static org.junit.Assert.*; import org.junit.Test; public class TaskTest2 { @Test
public void test() {
System.out.println("This is TaskTest2... ");
} }
TaskTest3代码:
package com.duo.util; import static org.junit.Assert.*; import org.junit.Test; public class TaskTest3 { @Test
public void test() {
System.out.println("This is TaskTest3...");
} }
三,总结:
1,测试套件就是组织测试类一起运行的;
2,写一个作为测试套件的入口类,这个类中不能包含任何方法
3,更改测试运行器:@RunWith(Suite.class)
4,将要测试的类作为数组传入到:Suite.SuiteClasses({})