JUnit自动化单元测试(四):@RunWith测试套件运行器的使用

一些常用的测试方法前面已经说了,但有人又说了,JUnit为项目里每个类都创建一个对应的测试类,虽然一次能把类里面所有的方法都测试一遍,但是,我一个项目有可能有上千百个类,总不能每个类都点一下进行测试吧。
没错,@RunWith注解就是为了这种情况,我们先声明用套件运行器进行测试,然后把需要进行测试的所有类放进套件(集合)里面,一次就可以把所有类所有方法测试完,也叫打包测试。当我们没有声明的时候默认的则是JUnit自带的运行器,一次只能测试一个类。
见代码:

//这里有三个可以放到一起测试的类TaskTest1 、TaskTest2 、TaskTest3,
package junit.demo;
import org.junit.Test;
public class TaskTest1 {
        @Test
        public void test() {
            System.out.println("this is TaskTest1");
        }
    }

package junit.demo;
import org.junit.Test;
public static class TaskTest2 {
        @Test
        public void test() {
            System.out.println("this is TaskTest2");
        }
    }

package junit.demo;
import org.junit.Test;
public static class TaskTest3 {
        @Test
         {
            System.out.ppuntln("this is TaskTest3");
        }
    }

接着我们新建一个套件类,用套件运行器Suite

package junit.demo;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;
import org.junit.runners.Suite;

@RunWith(Suite.class) //声明套件运行器
@SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class}) //将需要一起测试的类放进来
public class SuiteTest {
    /* 
     * 测试套件就是组织测试类一起运行的 
     * 写一个作为测试套件的入口类,这个类里不需要包含其他的方法 
     * 1.更改测试运行器Suite.class 
     * 2.将要测试的类作为数组传入到Suite.SuiteClasses({}) 
     */
}

接着,我们只测试SuiteTest 这一个类就可以看到全部测试类的测试结果了。
@RunWith最主要是声明测试的运行器,都在org.junit.runners.下面有声明,其他的一般用不到了,有兴趣的朋友可以共同探讨分享。

猜你喜欢

转载自blog.csdn.net/u012882327/article/details/72639366