编写一个java程序并用至少四个JUnit断言进行测试
时间: 2024-03-03 11:49:37 浏览: 77
好的,下面是一个简单的Java程序和至少四个JUnit断言进行测试的示例:
```java
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
public int multiply(int a, int b) {
return a * b;
}
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("Cannot divide by zero!");
}
return a / b;
}
}
```
上面这个程序是一个简单的计算器类,其中包含了加、减、乘、除四个基本运算方法。下面是对这个类进行JUnit测试的代码:
```java
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
assertEquals(5, result);
}
@Test
public void testSubtract() {
Calculator calculator = new Calculator();
int result = calculator.subtract(5, 3);
assertEquals(2, result);
}
@Test
public void testMultiply() {
Calculator calculator = new Calculator();
int result = calculator.multiply(2, 3);
assertEquals(6, result);
}
@Test
public void testDivide() {
Calculator calculator = new Calculator();
int result = calculator.divide(6, 3);
assertEquals(2, result);
try {
calculator.divide(6, 0);
fail("Expected an IllegalArgumentException to be thrown");
} catch (IllegalArgumentException e) {
assertEquals("Cannot divide by zero!", e.getMessage());
}
}
}
```
上面的代码包含了四个测试方法,分别测试了加、减、乘、除四个方法的正确性。其中,使用了四个断言方法:
* `assertEquals(expected, actual)`:验证两个数值是否相等;
* `fail(message)`:用于在测试未通过时抛出异常;
* `try-catch` 语句:用于捕获异常并验证异常信息是否正确。
这些断言方法可以帮助我们快速、准确地判断程序的正确性。
阅读全文