junit4参数化测试三角形的类型
时间: 2023-09-04 09:10:12 浏览: 240
可以使用@Parameters注解和@Parameterized.Parameters注解来实现JUnit4的参数化测试,以下是一个参数化测试三角形类型的示例代码:
```java
import static org.junit.Assert.assertEquals;
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 TriangleTest {
private int a;
private int b;
private int c;
private String expected;
public TriangleTest(int a, int b, int c, String expected) {
this.a = a;
this.b = b;
this.c = c;
this.expected = expected;
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] {
{ 3, 4, 5, "Scalene" },
{ 2, 2, 3, "Isosceles" },
{ 1, 2, 3, "Not a triangle" },
{ 3, 3, 3, "Equilateral" } });
}
@Test
public void testTriangle() {
assertEquals(expected, Triangle.getType(a, b, c));
}
}
```
该示例代码中,@RunWith(Parameterized.class)表示使用参数化测试运行器,@Parameters注解用于定义数据集,data()方法返回一个集合,包含了不同的测试数据。在TriangleTest构造函数中,使用了四个参数,分别表示三角形的三边长以及期望的三角形类型,@Test注解用于标记测试方法,通过assertEquals方法判断实际结果是否等于期望结果。
阅读全文