java编写创建一个计算类,实现加减乘除运算,并用JUnit进行单元测试
时间: 2024-02-01 22:04:52 浏览: 110
MathTask_单元测试_加减乘除运算_
好的,我可以为您解答Java编写创建一个计算类,实现加减乘除运算,并用JUnit进行单元测试的问题。
首先,我们可以创建一个名为Calculator的Java类,代码如下:
```java
public class Calculator {
public static double add(double a, double b) {
return a + b;
}
public static double subtract(double a, double b) {
return a - b;
}
public static double multiply(double a, double b) {
return a * b;
}
public static double divide(double a, double b) {
if (b == 0) {
throw new IllegalArgumentException("除数不能为0");
}
return a / b;
}
}
```
在上面的代码中,我们定义了四个静态方法add、subtract、multiply、divide,分别实现加法、减法、乘法和除法运算。其中,除法运算在除数为0的情况下会抛出IllegalArgumentException异常。
接下来,我们可以使用JUnit框架对这个类进行单元测试。例如,我们可以编写如下的测试代码:
```java
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class CalculatorTest {
@Test
public void testAdd() {
assertEquals(5, Calculator.add(2, 3), 0);
assertEquals(-1.1, Calculator.add(-2.3, 1.2), 0);
}
@Test
public void testSubtract() {
assertEquals(3, Calculator.subtract(5, 2), 0);
assertEquals(-3.5, Calculator.subtract(-1.2, 2.3), 0);
}
@Test
public void testMultiply() {
assertEquals(6, Calculator.multiply(2, 3), 0);
assertEquals(-2.76, Calculator.multiply(-1.2, 2.3), 0);
}
@Test
public void testDivide() {
assertEquals(2, Calculator.divide(6, 3), 0);
assertEquals(-2.3, Calculator.divide(-4.6, 2), 0);
try {
Calculator.divide(6, 0);
} catch (IllegalArgumentException e) {
assertEquals("除数不能为0", e.getMessage());
}
}
}
```
在上面的代码中,我们使用了JUnit的@Test注解标记了四个测试方法testAdd、testSubtract、testMultiply、testDivide,分别对加法、减法、乘法和除法运算进行测试。在测试除法运算时,我们使用了try-catch语句来捕获IllegalArgumentException异常,并使用assertEquals来断言异常信息是否正确。
最后,我们可以使用Eclipse等Java开发环境来运行这个测试类,以便确认我们编写的代码是否符合预期。
阅读全文