JUnit 5 中怎么使用 `@Tag` 对测试用例进行分类与过滤

浅磊吖_5974

浅磊吖_5974

2026-08-11

542人浏览

原创

junit 5 的 @tag 是轻量级测试分类机制,支持类级和方法级多标签标注,可通过 ide、maven 命令行或 surefire 插件按标签运行,并支持 and(&)、or(|)、not(!)及括号组合的表达式筛选。

junit 5 中怎么使用 `@tag` 对测试用例进行分类与过滤

JUnit 5 的 @Tag 是轻量但非常实用的分类机制,它不依赖外部配置,直接通过注解给测试类或方法“贴标签”,再配合运行时过滤规则,就能灵活控制哪些测试该跑、哪些该跳过。

怎么打标签

标签可以加在测试类上(影响整个类),也可以加在单个 @Test 方法上(更细粒度)。一个元素支持多个标签,互不冲突:

  • 类级标签:所有该类下的测试自动继承
  • 方法级标签:只作用于当前方法,可叠加多个,比如 @Tag("smoke") @Tag("login")
  • 标签值必须是非空字符串,不能含空格、逗号、括号、&、|、!、ISO 控制字符

怎么按标签运行测试

有三种主流方式,适用不同场景:

js2java
js2java

JavaScript 到 Java 全栈翻译助手,专为前端开发者学习 Java 或快速实现后端业务逻辑而设计。当用户提到以下场景时必须使用此技能: - "帮我把这段 JS 代码转成 Java" - "用 Java 怎么写这个逻辑" - "我习惯用 JS 写,想翻译成 Java" - "教我 Java,我要写后端接...

下载
  • IDE 中运行:IntelliJ IDEA 或 Eclipse 支持右键选择 “Run ‘Tests with tag: xxx’”,也可在运行配置里填入 tag 表达式
  • Maven 命令行:用 -Dgroups=xxx 包含,或 -DexcludedGroups=xxx 排除。支持逻辑组合,如 -Dgroups="smoke&login"(AND)、-Dgroups="unit|integration"(OR)
  • Maven 插件配置:在 pom.xml 的 maven-surefire-plugin 中设置 <groups></groups> 或 <excludedgroups></excludedgroups>,优先级高于命令行参数

怎么组合多个标签做精准筛选

单纯罗列多个标签(如 @IncludeTags({"a", "b"}))是 OR 逻辑——只要带 a 或 b 就执行。若要 AND 逻辑(必须同时含 a 和 b),要用标签表达式:

  • 写法是把标签用 & 连成一个字符串:@IncludeTags("a&b")
  • 同样适用于命令行:mvn test -Dgroups="fast&database"
  • 也支持 NOT 和括号,例如 "smoke&!(longrun)" 表示“冒烟且非耗时”

怎么组织测试套件

用 @IncludeTags 或 @ExcludeTags 搭配 @SelectPackages / @SelectClasses 可定义专用测试套件:

  • 新建一个空类,加上 @RunWith(JUnitPlatform.class)
  • 指定包路径:@SelectPackages("com.example.test")
  • 再限定范围:@IncludeTags("production") ——只跑带 production 标签的测试
  • 注意:@IncludeTags 和 @ExcludeTags 不能共存于同一个套件类中

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

java

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

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

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

2023.10.13

4530

8

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

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

2023.10.23

2921

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人学习