public class CalculatorTest {
private static Calculator calculator = new Calculator();//这个类要自己写
@Before
public void clearCalculator() {
calculator.clear();
}
@Test
public void square1() {
calculator.square(2);
assertEquals(4, calculator.getResult());
}
@Test
public void square2() {
calculator.square(0);
assertEquals(0, calculator.getResult());
}
@Test
public void square3() {
calculator.square(-3);
assertEquals(9, calculator.getResult());
}
}
为了简化类似的测试,JUnit4提出了“参数化测试”的概念,只写一个测试函数,把这若干种情况作为参数传递进去,一次性的完成测试。代码如下:
@RunWith(Parameterized.class)
public class SquareTest {
private static Calculator calculator = new Calculator();
private int param;
private int result;
@Parameters
//输入的参数和预期的结果
public static Collection data() {
return Arrays.asList(new Object[][] { { 2, 4 }, { 0, 0 }, { -3, 9 }, });
}
// 构造函数,对变量进行初始化
public SquareTest(int param, int result) {
this.param = param;
this.result = result;
}
@Test
public void square() {
calculator.square(param);
assertEquals(result, calculator.getResult());
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。