JUnit 5 中怎么使用 `@Disabled` 忽略特定测试用例执行

胖涛吖_9458

胖涛吖_9458

2026-08-09

862人浏览

原创

@disabled是junit 5中用于临时禁用测试方法或类的注解,标记为skipped且保留在报告中;可选原因说明,支持作用于@test方法或整个测试类,但不可用于生命周期方法。

junit 5 中怎么使用 `@disabled` 忽略特定测试用例执行

在 JUnit 5 中,@Disabled 是专门用来临时跳过某个测试方法或整个测试类的注解,它不会删除代码,也不会影响其他测试运行,只是让被标注的部分在执行时显示为 skipped(已跳过),并保留在测试报告中。

@Disabled 用在单个测试方法上

这是最常见用法:直接加在 @Test 方法上方(顺序不严格,但建议 @Test 在前)。

  • 必须和 @Test 同时存在,不能单独使用
  • 可选填写原因字符串,比如功能未完成、环境不支持、临时绕过不稳定测试等
  • IDE(如 IntelliJ 或 Eclipse)运行时会明确标灰,并显示 “skipped”

示例:

@Test
@Disabled("订单退款逻辑尚未开发完成")
void testRefundProcessing() {
    // 不会执行
}

@Disabled 用在整个测试类上

如果整套功能都还没 ready,比如新模块的测试类全部暂不运行,可以加在类声明处。

  • 该类下所有 @Test 方法都会被跳过
  • 同样支持写原因,便于团队理解屏蔽背景
  • 不影响其他测试类的执行

示例:

@Disabled("风控服务集成测试依赖外部系统,当前不可用")
class RiskServiceIntegrationTest {
    @Test void testBlacklistCheck() { /* ... */ }
    @Test void testScoreCalculation() { /* ... */ }
}

注意事项和常见误区

这个注解看着简单,但几个关键点容易出错:

  • 只适用于 JUnit 5(Jupiter),JUnit 4 里无效 —— 要用 @Ignore
  • 不能加在 @BeforeEach、@AfterAll 等生命周期方法上,Jupiter 不支持
  • 被禁用的测试仍会被扫描、编译、计入测试总数,只是状态变成 SKIPPED
  • Maven Surefire 插件会在控制台输出 skipped 计数,CI 流水线也能识别

怎么确认 @Disabled 生效了?

运行测试后观察几个地方:

  • IDE 测试面板中对应条目变灰,显示 “skipped” 或图标带斜杠
  • Maven 命令行输出里会有类似 Tests run: 12, Failures: 0, Errors: 0, Skipped: 2
  • 生成的测试报告(如 Surefire 的 XML 或 HTML)中会单独列出 skipped 的项及原因

相关专题

更多
软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

2023.10.13

4550

8

java测试工具有哪些
java测试工具有哪些

java测试工具有JUnit、TestNG、Mockito、Selenium、Apache JMeter和Cucumber。php还给大家带来了java有关的教程,欢迎大家前来学习阅读,希望对大家能有所帮助。

2023.10.23

2941

10

Java 单元测试
Java 单元测试

本专题聚焦 Java 在软件测试与持续集成流程中的实战应用,系统讲解 JUnit 单元测试框架、Mock 数据、集成测试、代码覆盖率分析、Maven 测试配置、CI/CD 流水线搭建(Jenkins、GitHub Actions)等关键内容。通过实战案例(如企业级项目自动化测试、持续交付流程搭建),帮助学习者掌握 Java 项目质量保障与自动化交付的完整体系。

2025.10.24

1066

26

Python uv使用教程
Python uv使用教程

本专题汇总了 Python uv 使用教程与高效使用指南,从 uv 安装配置、常用命令到虚拟环境、依赖管理与项目打包,系统讲解如何用 uv 替代 pip 与 poetry,全面提升 Python 项目开发效率,助你快速上手这一现代化包管理工具,打造干净高效的 Python 工作流。

2026.10.15

0

15

剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

2026.10.14

0

15

剧云AI剧本创作零基础入门
剧云AI剧本创作零基础入门

本专题系统讲解剧云AI剧本创作流程,涵盖灵感、梗概、大纲、分场与正文生成,帮助新手快速完成首个中文剧本项目。

2026.10.14

0

14

VibeKnow文档转视频操作指南
VibeKnow文档转视频操作指南

本专题讲解VibeKnow上传Word、TXT、Markdown等材料生成视频的方法,覆盖内容解析、脚本组织、画面生成与成片检查。

2026.10.14

0

15

VibeKnow知识视频制作与导出详解
VibeKnow知识视频制作与导出详解

本专题整理VibeKnow从注册、素材上传、AI生成到预览导出的完整操作,帮助新手快速制作第一条知识讲解视频。

2026.10.14

0

13

二狗PPT大纲编辑实操指南
二狗PPT大纲编辑实操指南

本专题聚焦二狗PPT结构化大纲的生成和修改,讲解标题、正文、目录、页数与页面顺序的调整方法,提升汇报逻辑和内容完整性。

2026.10.14

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习