自动化测试66 条

JUnit 5 入门

JUnit 5 以 @Test 标记用例,@BeforeEach/@AfterEach 做方法级准备与清理,@BeforeAll/@AfterAll(静态方法)管理类级资源;默认每个测试方法拿到新的测试实例。

软件测试速查开发更新于 2026-10-12

用例示例

用例示例
import org.junit.jupiter.api.*;

class CalculatorTest {
    @BeforeEach
    void setUp() { calc = new Calculator(); }

    @Test
    void add() {
        assertEquals(2, calc.add(1, 1));
    }
}
默认测试实例生命周期是 PER_METHOD;用 @TestInstance(PER_CLASS) 可改为类级单实例。

易错点

  • @BeforeAll/@AfterAll 未声明为 static(未开启 PER_CLASS 时)导致运行报错
  • 在 @BeforeEach 中启动重资源(容器、服务器),每个用例重复启动拖慢执行

数据来源与参考

  • JUnit 5 User Guide(junit.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌