用Junit对Caculator类的各种方法进行单元测试
时间: 2024-02-22 11:55:18 浏览: 71
用Junit进行单元测试
好的,以下是用 JUnit 对 `Calculator` 类的四种基本运算方法进行单元测试的代码:
```java
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class CalculatorTest {
private Calculator calc = new Calculator();
@Test
public void testAdd() {
double result = calc.add(2, 3);
assertEquals(5.0, result, 0.001);
}
@Test
public void testSubtract() {
double result = calc.subtract(5, 2);
assertEquals(3.0, result, 0.001);
}
@Test
public void testMultiply() {
double result = calc.multiply(3, 4);
assertEquals(12.0, result, 0.001);
}
@Test
public void testDivide() {
double result = calc.divide(10, 2);
assertEquals(5.0, result, 0.001);
}
@Test(expected = IllegalArgumentException.class)
public void testDivideByZero() {
calc.divide(10, 0);
}
}
```
在这个测试类中,我们使用 `@Test` 注解对每个测试方法进行标记。每个测试方法都会调用 `Calculator` 类的一个方法,并使用 `assertEquals` 方法来检查返回值是否符合预期。我们还编写了一个 `testDivideByZero` 方法,用于测试除数为零的情况。
注意,在 `testDivideByZero` 方法中,我们使用了 `@Test(expected = IllegalArgumentException.class)` 注解,这是为了检测当除数为零时是否会抛出 `IllegalArgumentException` 异常。
现在我们可以运行这个测试类,检查所有测试是否通过:
```
JUnit version 4.12
.
Time: 0.007
OK (1 test)
```
在这个例子中,我们只有一个测试类,但在实际项目中,可能会有成百上千个测试类和测试方法。JUnit 能够帮助我们自动化执行这些测试,并提供详细的测试报告,以帮助我们更好地了解代码的质量和稳定性。
阅读全文