单元测试和白盒测试代码举例
时间: 2023-07-10 16:19:45 浏览: 134
软件测试代码及实验报告和用例数据
下面是一个使用Java编写的单元测试和白盒测试的示例:
```java
// 示例类,实现了一个简单的计算器
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
}
// 单元测试示例,使用JUnit框架
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
assertEquals(5, calculator.add(2, 3));
assertEquals(10, calculator.add(5, 5));
}
@Test
public void testSubtract() {
Calculator calculator = new Calculator();
assertEquals(1, calculator.subtract(3, 2));
assertEquals(10, calculator.subtract(15, 5));
}
}
// 白盒测试示例,手动编写测试用例
public class CalculatorWhiteBoxTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
// 测试两个正数相加
assertEquals(5, calculator.add(2, 3));
// 测试一个正数和一个负数相加
assertEquals(-1, calculator.add(2, -3));
// 测试两个负数相加
assertEquals(-5, calculator.add(-2, -3));
}
@Test
public void testSubtract() {
Calculator calculator = new Calculator();
// 测试两个正数相减
assertEquals(1, calculator.subtract(3, 2));
// 测试一个正数和一个负数相减
assertEquals(5, calculator.subtract(2, -3));
// 测试两个负数相减
assertEquals(1, calculator.subtract(-2, -3));
}
}
```
在这个示例中,单元测试使用了JUnit框架来测试Calculator类的add和subtract方法,而白盒测试则手动编写了一些测试用例来测试代码的不同分支,例如两个正数相加、一个正数和一个负数相加、两个负数相加等。通过这些测试用例,可以更全面地测试代码的功能和正确性。
阅读全文