对Triangle进行JUnit测试并设计测试用例使其满足100%函数覆盖
时间: 2024-01-20 17:02:19 浏览: 67
使用JUnit高效完成功能测试[1]
好的,Triangle是一个计算三角形类型的类,我们需要进行JUnit测试并设计测试用例使其满足100%函数覆盖,下面是我的建议:
首先,我们需要了解Triangle类的方法:
```java
public class Triangle {
public static String getTriangleType(int a, int b, int c) {
// 计算三角形类型的方法
}
}
```
该方法计算三角形类型,接受三个参数a、b、c表示三角形的三边长,返回值为字符串类型,表示三角形的类型,包括等边三角形、等腰三角形、一般三角形以及不是三角形。
接下来我们需要设计测试用例,以覆盖该方法的所有逻辑分支。
1. 等边三角形
当三角形三边长都相等时,应该返回等边三角形。
测试用例:
```java
@Test
public void testEquilateralTriangle() {
String result = Triangle.getTriangleType(3, 3, 3);
assertEquals("Equilateral Triangle", result);
}
```
2. 等腰三角形
当三角形两边相等时,应该返回等腰三角形。
测试用例:
```java
@Test
public void testIsoscelesTriangle() {
String result = Triangle.getTriangleType(3, 3, 4);
assertEquals("Isosceles Triangle", result);
}
```
3. 一般三角形
当三角形三边不相等时,应该返回一般三角形。
测试用例:
```java
@Test
public void testScaleneTriangle() {
String result = Triangle.getTriangleType(3, 4, 5);
assertEquals("Scalene Triangle", result);
}
```
4. 不是三角形
当三角形两边之和小于第三边时,不是三角形。
测试用例:
```java
@Test
public void testNotTriangle() {
String result = Triangle.getTriangleType(1, 2, 4);
assertEquals("Not a Triangle", result);
}
```
5. 任意两边之和等于第三边
当三角形两边之和等于第三边时,不是三角形。
测试用例:
```java
@Test
public void testNotTriangle1() {
String result = Triangle.getTriangleType(1, 2, 3);
assertEquals("Not a Triangle", result);
}
```
6. 三边都为0
当三角形三边都为0时,不是三角形。
测试用例:
```java
@Test
public void testNotTriangle2() {
String result = Triangle.getTriangleType(0, 0, 0);
assertEquals("Not a Triangle", result);
}
```
7. 任意一边为负数
当三角形三边中有一边为负数时,不是三角形。
测试用例:
```java
@Test
public void testNotTriangle3() {
String result = Triangle.getTriangleType(2, 1, -1);
assertEquals("Not a Triangle", result);
}
```
8. 任意一边为小数
当三角形三边中有一边为小数时,不是三角形。
测试用例:
```java
@Test
public void testNotTriangle4() {
String result = Triangle.getTriangleType(2, 1.5, 3);
assertEquals("Not a Triangle", result);
}
```
这些测试用例可以覆盖Triangle类的所有逻辑分支,从而使得该类满足100%函数覆盖。
阅读全文