一、测试套件
测试套件是用来批量测试类的,即使用@RunWith(Suite.class)将一个类修饰成测试套件类,该类中不能含有任何内容。
首先新建3个测试类,代码如下:
public class Test1 { //第一个测试类
@Test
public void test() {
System.out.println("test1");
}
}
public class Test2 { //第二个测试类
@Test
public void test() {
System.out.println("test2");
}
}
public class Test3 { //第三个测试类
@Test
public void test() {
System.out.println("test3");
}
}
然后建立一个测试套件的入口类,不包含任何方法,更改测试运行器Suite.class,将要被测试的类作为数组传入到SuiteClasses,代码如下:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({Test1.class,Test2.class,Test3.class})
public class SuiteTest {
//不能包含任何内容
}
二、参数化设置
步骤一:新建一个测试类,使用@RunWith(Parameterized.class)声明为参数设置类
步骤二:在类中定义用来存放预期值和输入参数的变量,并构造方法
步骤三:测试多组数据就需要用数组进行返回,所以可以定义一个Collection类型的静态方法,需要使用@parameters注解
步骤四:写一个测试方法
代码如下:
import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class ParameterTest {
int expected = 0;
int input1 = 0;
int input2 = 0;
public ParameterTest(int expected,int input1,int input2){
this.expected = expected;
this.input1 = input1;
this.input2 = input2;
}
@Parameters
public static Collection<Object[]> t(){
return Arrays.asList(new Object[][]{
{3,1,2},{5,2,3}
});
}
@Test
public void testAdd(){
assertEquals(expected,new Number().add(input1, input2));
}
}