IntelliJ IDEA提供了完整的Java单元测试支持,以下是从环境配置到结果分析的详细步骤,以JUnit 5(主流版本)为例:
打开IntelliJ IDEA,选择「New Project」→ 「Java」,设置项目名称(如UnitTestDemo)和存储路径,点击「Create」完成项目创建。此时项目会自动生成src/main/java(主代码目录)和src/test/java(测试代码目录,若未生成可手动创建)。
JUnit是Java单元测试的核心框架,需将其添加到项目依赖中:
org.junit.jupiter:junit-jupiter-api:5.8.2(JUnit 5核心API),点击「OK」添加。org.junit.jupiter:junit-jupiter-engine:5.8.2(JUnit 5运行引擎),点击「OK」。org.junit.jupiter:junit-jupiter-params:5.8.2。在src/main/java目录下创建Java类(如Calculator),编写待测试的方法:
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 double divide(int a, int b) {
if(b == 0) throw new ArithmeticException("Cannot divide by zero");
return (double) a / b;
}
}
src/test/java目录下右键 → 「New」→ 「Java Class」,命名为CalculatorTest(测试类名通常以被测试类名+Test结尾)。import org.junit.jupiter.api.BeforeEach; // 每个测试方法前执行
import org.junit.jupiter.api.Test; // 标识测试方法
import static org.junit.jupiter.api.Assertions.*; // 断言工具类
class CalculatorTest {
private Calculator calculator; // 被测试对象
@BeforeEach // 初始化方法,在每个测试方法执行前调用
void setUp() {
calculator = new Calculator();
}
}
为Calculator的每个方法编写测试用例,使用JUnit断言验证结果:
@Test
void testAdd() {
assertEquals(5, calculator.add(2, 3)); // 验证2+3=5
assertEquals(-1, calculator.add(2, -3)); // 验证2+(-3)=-1
}
@Test
void testSubtract() {
assertEquals(1, calculator.subtract(4, 3)); // 验证4-3=1
assertEquals(7, calculator.subtract(10, 3)); // 验证10-3=7
}
@Test
void testMultiply() {
assertEquals(6, calculator.multiply(2, 3)); // 验证2*3=6
assertEquals(-6, calculator.multiply(2, -3));// 验证2*(-3)=-6
}
@Test
void testDivide() {
assertEquals(2.0, calculator.divide(6, 3)); // 验证6/3=2.0
assertEquals(3.333, calculator.divide(10, 3), 0.001); // 验证10/3≈3.333(允许误差0.001)
}
@Test
void testDivideByZero() {
assertThrows(ArithmeticException.class, () -> calculator.divide(5, 0)); // 验证除零异常
}
mvn test(Maven项目)或gradle test(Gradle项目)。测试运行后,底部会弹出Run工具窗口,显示测试结果:
Tests run: 5, Failures: 0)。测试覆盖率用于评估测试用例覆盖的代码比例,操作步骤:
src/test/java目录下,与主代码分离。@Test注解标识,且为public void类型(无参数)。@BeforeEach初始化测试对象(如Calculator),避免重复代码。assertEquals(相等)、assertNotEquals(不等)、assertTrue(为真)、assertThrows(抛出异常)等方法,用于验证预期结果。通过以上步骤,即可在IntelliJ IDEA中完成Java单元测试的全流程,快速验证代码的正确性和稳定性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。