讲师中心 微信公众号
AI工具推荐 视频效率加速

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

胖涛吖_9458

胖涛吖_9458

发布时间:2026-08-09 14:48:38

|

862人浏览过

|

来源于php中文网

原创

@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,比如新模块的测试类全部暂不运行,可以加在类声明处。

java-enterprise
java-enterprise

Java企业开发专家,专注于Spring Boot、微服务架构和JVM优化。适用于:Java语言掌握、

下载
  • 该类下所有 @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 的项及原因

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

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

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

4550

2023.10.13

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

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

2941

2023.10.23

Java 单元测试
Java 单元测试

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

1066

2025.10.24

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

0

2026.10.15

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

0

2026.10.15

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

0

2026.10.15

VS Code 怎么配置开发环境
VS Code 怎么配置开发环境

VS Code开发环境专题汇集编辑器安装、语言扩展、编译器、解释器、终端和调试配置文章,覆盖Java、Python、C++和PHP等常见语言的入门设置。

0

2026.10.15

C++ 开发环境怎么搭建
C++ 开发环境怎么搭建

C++开发环境专题汇集Windows、Linux下的编译器与IDE安装配置教程,涵盖GCC、Clang、Visual Studio、CLion和VS Code,以及编译运行首个程序的步骤。

0

2026.10.15

Python 虚拟环境是什么
Python 虚拟环境是什么

Python虚拟环境专题介绍项目依赖隔离的作用,汇集venv与uv创建、激活、退出及解释器切换的相关文章,并覆盖Windows、Linux和VS Code中的常见配置问题。

0

2026.10.15

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn