Java JUnit 单元测试入门

一、JUnit 5 基本

import org.junit.jupiter.api.*;
class UserTest {
    @BeforeEach void setUp() { }
    @Test void testName() {
        assertEquals("Tom", user.getName());
    }
    @Test @DisplayName("空名报错") void testEmpty() { }
}

二、断言与常用注解

注解/断言 作用
@Test 标记测试方法
@BeforeEach / @AfterEach 每个测试前后
@BeforeAll / @AfterAll 类前后(静态)
assertEquals/assertTrue/assertThrows 断言结果

三、为什么写测试

  • 防回归:改代码立刻知道是否破坏旧功能;
  • 当文档:测试即用法示例;
  • 配合覆盖率工具(JaCoCo)看薄弱点。

单测测”最小单元”,集成测试测”多组件协作”,Mock(Mockito)隔离外部依赖。