package com.myz.util;
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 JunitParameterTest {
/**
* 1.更改默认的运行器为@RunWith(Parameterized.class)
* 2.声明变量来存放预期值和结果值
* 3.声明一个返回值为collection的公共静态方法,并使用@Parameters进行修饰
* 4.为测试类声明一个带参数的公共构造函数,并在其中为之声明变量赋值
*/
int expected=0;
int input1=0;
int input2=0;
@Parameters
public static Collection<Object[]> t(){//保存参数
return Arrays.asList(new Object[][]{
{3,1,2},
{4,2,2}
});
}
public JunitParameterTest(int expected, int input1, int input2) {
this.expected = expected;
this.input1 = input1;
this.input2 = input2;
}
@Test
public void testAdd(){//将参数传入,测试
assertEquals(expected,new Calculate().add(input1, input2));
}
}