(1)新建一个项目叫 JUnitTest,编写一个 Calculator 类,能够实现简单加减乘除运算。 (2)设计单元测试的用例,要求每种运算包括至少一组有效数据,一组无效数据。 (3)使用JUnit编写单元测试脚本,并使用(2)中设计的测试数据进行测试。 (4)执行测试脚本后,查看测试结果。
时间: 2024-02-26 13:57:27 浏览: 15
好的,我知道了你的问题。下面是我对你问题的回答:
首先,我会创建一个 Java 项目,命名为 JUnitTest。在项目中创建一个 Calculator 类,实现加减乘除运算。这里是示例代码:
```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 ArithmeticException("Division by zero!");
}
return a / b;
}
}
```
接下来,我会设计单元测试的用例,确保每种运算包括至少一组有效数据和一组无效数据。这里是示例用例:
```java
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
private Calculator calculator = new Calculator();
@Test
public void testAdd() {
assertEquals(4, calculator.add(2, 2));
assertEquals(-2, calculator.add(-1, -1));
assertEquals(0, calculator.add(0, 0));
}
@Test
public void testInvalidAdd() {
assertNotEquals(5, calculator.add(2, 2));
assertNotEquals(-3, calculator.add(-1, -1));
assertNotEquals(1, calculator.add(0, 0));
}
@Test
public void testSubtract() {
assertEquals(0, calculator.subtract(2, 2));
assertEquals(2, calculator.subtract(5, 3));
assertEquals(-2, calculator.subtract(3, 5));
}
@Test
public void testInvalidSubtract() {
assertNotEquals(2, calculator.subtract(2, 2));
assertNotEquals(3, calculator.subtract(5, 3));
assertNotEquals(5, calculator.subtract(3, 5));
}
@Test
public void testMultiply() {
assertEquals(6, calculator.multiply(2, 3));
assertEquals(-6, calculator.multiply(-2, 3));
assertEquals(0, calculator.multiply(0, 3));
}
@Test
public void testInvalidMultiply() {
assertNotEquals(5, calculator.multiply(2, 3));
assertNotEquals(-5, calculator.multiply(-2, 3));
assertNotEquals(1, calculator.multiply(0, 3));
}
@Test
public void testDivide() {
assertEquals(2, calculator.divide(4, 2));
assertEquals(-2, calculator.divide(4, -2));
assertEquals(0, calculator.divide(0, 3));
}
@Test(expected = ArithmeticException.class)
public void testInvalidDivide() {
calculator.divide(4, 0);
}
}
```
在这些测试用例中,我们分别测试了加、减、乘、除四种运算,每种运算都有至少一组有效数据和一组无效数据。其中,无效数据包括除数为 0 的情况。
接下来,我会使用 JUnit 编写单元测试脚本,并使用上述测试用例进行测试。这里是示例代码:
```java
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class CalculatorTestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(CalculatorTest.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
```
在这个测试脚本中,我们使用 JUnitCore 类的 runClasses() 方法来运行 CalculatorTest 类中的测试用例。执行完毕后,我们会输出测试结果:如果所有测试用例都通过,会输出 true,否则输出 false,并打印出每个失败的测试用例的详细信息。
最后,我们执行测试脚本,查看测试结果。如果所有测试用例都通过,会输出 true,否则输出 false,并打印出每个失败的测试用例的详细信息。