Junit 5官方文档中文版
  • Introduction
  • 用户指南
    • 概况
      • Junit5是什么?
      • 支持的Java版本
      • 获取帮助
    • 安装
      • 依赖元数据
      • 依赖关系图
      • JUnit Jupiter示例项目
    • 编写测试
      • 注解
      • 标准测试类
      • 显示名称
      • 断言
      • 假设
      • 禁用
      • 标签和过滤
      • 测试实例生命周期
      • 嵌套测试
      • 构造函数和方法的依赖注入
      • 测试接口和默认方法
      • 重复测试
      • 参数化测试
      • 测试模板
      • 动态测试
    • 运行测试
      • IDE支持
      • 构建支持
      • 控制台启动器
      • 使用Junit4运行JUnit Platfrom
      • 配置参数
    • 扩展模型
      • 概述
      • 注册扩展
      • 有条件的测试执行
      • 测试实例后处理
      • 测试生命周期回调
      • 异常处理
      • 为测试模板提供调用上下文
      • 在扩展中维持状态
      • 在扩展中支持的实用程序
      • 用户代码和扩展的相对执行顺序
    • 从Junit4迁移
      • 在Junit Platform上运行JUnit4测试
      • 迁移Tips
      • 受限的JUnit4规则支持
    • 高级主题
      • JUnit Platform Launcher API
    • API演进
      • API版本和状态
      • 实验性API
      • @API工具支持
Powered by GitBook
On this page
  1. 用户指南
  2. 编写测试

注解

Previous编写测试Next标准测试类

Last updated 6 years ago

JUnit Jupiter支持下列注解,用于配置测试和扩展框架。

所有核心注解位于junit-jupiter-api模块中的包中。

注解

描述

@Test

表示方法是测试方法。与JUnit4的@Test注解不同的是,这个注解没有声明任何属性,因为JUnit Jupiter中的测试扩展是基于他们自己的专用注解来操作的。除非被覆盖,否则这些方法可以继承。

@ParameterizedTest

@RepeatedTest

@TestFactory

@TestInstance

@TestTemplate

@DisplayName

声明测试类或测试方法的自定义显示名称。这个注解不被继承。

@BeforeEach

表示被注解的方法应在当前类的每个@Test,@RepeatedTest,@ParameterizedTest或@TestFactory方法之前执行; 类似于JUnit 4的@Before。 除非被覆盖,否则这些方法可以继承。

@AfterEach

表示被注解的方法应在当前类的每个@Test,@RepeatedTest,@ParameterizedTest或@TestFactory方法之后执行; 类似于JUnit 4的@After。 除非被覆盖,否则这些方法可以继承。

@BeforeAll

@AfterAll

@Nested

@Tag

在类或方法级别声明标签,用于过滤测试; 类似于TestNG中的test group或JUnit 4中的Categories。这个注释可以在类级别上继承,但不能在方法级别上继承。

@Disabled

用于禁用测试类或测试方法; 类似于JUnit4的@Ignore。这个注解不能继承。

@ExtendWith

使用@Test,@TestTemplate,@RepeatedTest,@BeforeAll,@AfterAll,@BeforeEach或@AfterEach注解的方法不能有返回值。

元注解和组合注解

JUnit Jupiter注解可以用作元注解。这意味着您可以定义自己的组合注释,它将自动继承其元注释的语义。

表示方法是。 除非被覆盖,否则这些方法可以继承。

表示方法是用于的测试模板。除非被覆盖,否则这些方法可以继承。

表示方法是用于的测试工厂。除非被覆盖,否则这些方法可以继承。

用于为被注解的测试类配置。 这个注解可以继承。

表示方法是,设计为被调用多次,调用次数取决于自注册的提供者返回的调用上下文。除非被覆盖,否则这些方法可以继承。

表示被注解的方法应该在当前类的所有@Test,@RepeatedTest,@ParameterizedTest和@TestFactory方法之前执行; 类似于JUnit 4的@BeforeClass。 这样的方法可以继承(除非被隐藏或覆盖),并且必须是静态的(除非使用“per-class”)。

表示被注解的方法应该在当前类的所有@Test,@RepeatedTest,@ParameterizedTest和@TestFactory方法之后执行; 类似于JUnit 4的@AfterClass。 这样的方法可以继承(除非被隐藏或覆盖),并且必须是静态的(除非使用“per-class”)。

表示被注解的类是一个嵌套的非静态测试类。除非使用“per-class”,否则@BeforeAll和@AfterAll方法不能直接在@Nested测试类中使用。 这个注解不能继承。

用于注册自定义。 这个注解可以继承。

例如,您可以像下面那样创建一个名为@Fast的自定义组合注释,而不必在整个代码库(请参阅)中复制和粘贴@Tag("fast")。然后@Fast可以用作@Tag("fast")的一个替代品。

org.junit.jupiter.api
标签和过滤
参数化测试
重复测试
动态测试
测试实例生命周期
测试用例的模板
测试实例生命周期
测试实例生命周期
测试实例生命周期
扩展