参数化测试
@RunWith(Parameterized.class)
public class CalcTest {
@Parameter(0)
public int expect;
@Parameter(1)
public int valueOne;
@Parameter(2)
public int valueTwo;
@Parameters
public static Collection<Integer[]> getParams(){
return Arrays.asList(new Integer[][]{
{2,1,1},
{30,19,11},
{23,1,22}
});
}
@Test
public void testAdd(){
System.out.println(this);
Calc calc = new Calc();
int real = calc.add(valueOne, valueTwo);
assertEquals(expect, real , 0);
}
}
或者:
@RunWith(Parameterized.class)
public class CalcTest {
private int expect;
private int valueOne;
private int valueTwo;
@Parameters
public static Collection<Integer[]> getParams(){
return Arrays.asList(new Integer[][]{
{2,1,1},
{30,19,11},
{23,1,22}
});
}
public CalcTest(int expect, int valueOne, int valueTwo) {
super();
this.expect = expect;
this.valueOne = valueOne;
this.valueTwo = valueTwo;
}
@Test
public void testAdd(){
System.out.println(this);
Calc calc = new Calc();
int real = calc.add(valueOne, valueTwo);
assertEquals(expect, real , 0);
}
}
Suite组合测试
@RunWith(Suite.class)
@SuiteClasses(value={CalcTest.class,CalcTest2.class})
public class CalcSuite {
}