编写一个稍微复杂的junit程序
时间: 2023-06-15 19:06:37 浏览: 62
以下是一个稍微复杂的JUnit程序的例子:
```java
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
@Test
public void testAddition() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
assertEquals(5, result);
}
@Test
public void testSubtraction() {
Calculator calculator = new Calculator();
int result = calculator.subtract(5, 3);
assertEquals(2, result);
}
@Test
public void testMultiplication() {
Calculator calculator = new Calculator();
int result = calculator.multiply(2, 3);
assertEquals(6, result);
}
@Test
public void testDivision() {
Calculator calculator = new Calculator();
float result = calculator.divide(6, 2);
assertEquals(3, result, 0);
}
@Test(expected = ArithmeticException.class)
public void testDivisionByZero() {
Calculator calculator = new Calculator();
float result = calculator.divide(6, 0);
}
}
```
上述代码中,我们定义了一个 `Calculator` 类,并对其四个基本方法进行了单元测试。其中,`testAddition()` 测试 `add()` 方法的正确性,`testSubtraction()` 测试 `subtract()` 方法的正确性,`testMultiplication()` 测试 `multiply()` 方法的正确性,`testDivision()` 测试 `divide()` 方法的正确性。此外,我们还对除数为零的情况进行了异常测试。
在每个测试方法中,我们首先创建了一个 `Calculator` 实例,然后调用相应的方法,将得到的结果与预期结果进行比较,以验证方法的正确性。在异常测试中,我们使用了 `@Test(expected = ArithmeticException.class)` 注解来指定预期的异常类型。如果方法执行时抛出了指定类型的异常,则测试通过;否则,测试失败。
通过JUnit程序的运行结果,我们可以了解到每个测试方法的执行情况,以及每个测试方法执行所消耗的时间。如果测试失败,则会显示错误信息及相关的调用栈信息,以便我们更方便地进行排查和修复。
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)