首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么JUnit 5套件注解@SelectClasses和@IncludeClassNamePatterns找不到不以“测试”或“测试”结尾的测试?

JUnit 5是Java中一种流行的单元测试框架,提供了一系列注解来帮助开发人员编写和管理测试用例。其中,@SelectClasses和@IncludeClassNamePatterns是两个用于选择测试类的注解。

@SelectClasses注解用于选择指定的测试类,而@IncludeClassNamePatterns注解用于选择符合指定模式的测试类。在默认情况下,JUnit 5会自动扫描并执行以"Test"或"Tests"结尾的测试类。

这种默认行为是为了遵循命名约定,使得开发人员可以更容易地识别出哪些类是测试类。但是,有时候我们可能需要选择一些不遵循命名约定的测试类,这时就可以使用@SelectClasses和@IncludeClassNamePatterns注解来指定。

然而,根据你的问题描述,@SelectClasses和@IncludeClassNamePatterns注解无法找到不以"测试"或"测试"结尾的测试类。这是因为JUnit 5默认的测试类过滤器会排除不符合命名约定的类。

如果你想选择不以"测试"或"测试"结尾的测试类,可以自定义一个测试类过滤器,并在@SelectClasses或@IncludeClassNamePatterns注解中使用该过滤器。你可以实现自己的类过滤器,根据自己的需求来选择测试类。

以下是一个示例的自定义类过滤器的实现:

代码语言:txt
复制
import org.junit.platform.engine.discovery.ClassNameFilter;
import org.junit.platform.engine.discovery.ClassSelector;
import org.junit.platform.engine.discovery.DiscoverySelectors;
import org.junit.platform.engine.discovery.PackageSelector;
import org.junit.platform.engine.discovery.UniqueIdSelector;
import org.junit.platform.engine.discovery.UriSelector;
import org.junit.platform.engine.discovery.UniqueIdSelector.UniqueIdSelectorBuilder;
import org.junit.platform.launcher.LauncherDiscoveryRequest;
import org.junit.platform.launcher.LauncherDiscoveryRequestBuilder;
import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
import org.junit.platform.launcher.core.LauncherFactory;
import org.junit.platform.launcher.Launcher;
import org.junit.platform.launcher.listeners.SummaryGeneratingListener;
import org.junit.platform.launcher.listeners.TestExecutionSummary;

import java.util.regex.Pattern;

public class CustomClassNameFilter implements ClassNameFilter {
    private final Pattern pattern;

    public CustomClassNameFilter(String regex) {
        this.pattern = Pattern.compile(regex);
    }

    @Override
    public boolean includeClassName(String className) {
        return pattern.matcher(className).matches();
    }
}

然后,你可以在测试类中使用自定义的类过滤器,如下所示:

代码语言:txt
复制
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.TestExecutionExceptionHandler;
import org.junit.jupiter.api.extension.TestExtensionContext;
import org.junit.jupiter.api.extension.TestTemplateInvocationContext;
import org.junit.jupiter.api.extension.TestTemplateInvocationContextProvider;

@ExtendWith(CustomClassNameFilter.class)
public class MyCustomTestClass {
    // 测试方法
}

这样,你就可以选择不以"测试"或"测试"结尾的测试类了。

在腾讯云的产品中,与JUnit 5相关的产品和服务可能包括云服务器、云函数、容器服务等。具体的产品选择和介绍可以参考腾讯云官方文档:腾讯云产品介绍

请注意,以上答案仅供参考,具体的选择和实施应根据实际需求和情况进行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

单元测试框架怎么搭?新版Junit5有哪些神奇之处?

它定义了一个抽象 TestEngine API 来定义运行在平台上测试框架;也就是说其他自动化测试引擎开发人员⾃⼰定制引擎都可以接入 Junit 实现对接执行。...包含了 JUnit 5 最新编程模型扩展机制;很多丰富新特性使 JUnit ⾃动化测试更加方便、功能更加丰富强大。...JUnit 5 常用注解 Junit5常用注解展示 注解 说明 @Test 表明一个测试方法 @DisplayName 测试方法显示名称 @BeforeEach 表明在单个测试方法运行之前执行方法...”}) 创建测试套件 @SelectClasses( {a.class,b.class,c.class} ) 创建测试套件 @IncludePackage(“包名”) 过滤需要执行测试包 @ExcludePackages...image.png] @RunWith+@SelectPackages+@IncludeClassNamePatternsjunit5demo包下TestJunit5demotestcasedemo.demo2

1.2K21

【干货】JUnit5快速指南

无论是对自己编码能力提高,还是项目质量提升,都是大有好处,本文将介绍 Java 单元测试框架 JUnit 5 基础认识,使用来编写单元测试。...@Disabled 用于禁用测试测试方法; 类似于JUnit4@Ignore。这个注解不能继承。 @ExtendWith 用于注册自定义扩展。这个注解可以继承。...编写用例——基本单元测试方法: 在了解了常用JUnit5 及其注解之后,我们来写一些基本测试用例: import org.junit.jupiter.api.*; import org.slf4j.Logger...5 测试套件: 通过JUnit5 实现测试套件功能,需要依赖junit-platform-runner 、junit-jupiter-apijunit-jupiter-engine。...junit-platform-runner:用来执行测试用例测试套件junit-jupiter-api有注解,通过@Test来写测试用例。

45810

【Java 基础篇】Java JUnit 使用详解

本文将详细介绍JUnit使用,包括JUnit安装、基本用法、常见注解测试套件、参数化测试等内容。 什么是单元测试? 在深入JUnit之前,让我们首先了解一下什么是单元测试。...5一些其他常用注解,它们可以帮助您更灵活地控制配置测试。...JUnit 5引入了更灵活测试套件机制,通过@RunWith注解来定义测试套件已经不再需要。...要创建一个测试套件,可以使用@SelectClasses注解来指定要包括在套件测试类,然后使用@RunWith注解运行测试套件。...结语 JUnit是Java开发中必不可少测试框架之一,它可以帮助您编写高质量、可维护单元测试。本文介绍了JUnit基本用法、常用注解测试套件参数化测试等内容,希望对您测试工作有所帮助。

1.2K20

【软件测试JUnit详解

Junit是什么? JUnit是一个用于编写运行Java程序单元测试开源框架。 它提供了一组注解断言方法,以及用于执行测试测试运行器。...拿着一个技术写自动化测试用例(Selenium3) 拿着一个技术管理已经编写好测试用例(Junit5) 二.Junit中常见注解 我们本节博客所学习Junit5,Junit5注解如下: 注解...@Nested 声明内部测试类。 @Tag 为测试测试方法添加标签,用于分组过滤。 @Timeout 设置测试方法执行超时时间。 @ExtendWith 注册扩展,用于扩展JUnit功能。...@Order @Order 注解JUnit 5 中用来指定测试方法执行顺序注解。通过给测试方法添加 @Order 注解并指定一个整数值,可以确保测试方法按照指定顺序执行。...测试套件 测试套件是一种组织执行一组测试方式。在JUnit中,可以使用 @RunWith 注解 Suite 类来创建测试套件。 1.

41620

Junit5框架详解

**JUnit Jupiter:**是在JUnit 5中编写测试扩展新编程模型扩展模型组合。...1.2、why Junit5 众所周知Java测试框架比较有名是TestNG、Junit,今本次架构师课程我给大家讲解Junit5框架基本使用改造,为什么会现在Junit5也是有很多原因,对于这...//测试map中是否还有指定值 assertThat(map, hasValue("test2")); 2、Java注解反射 上面我们介绍了Junit5基本使用后,下面我们来看看注解反射,为什么我们要学习注解反射...,这块在设计测试框架以及多框架功能扩展时候我们就会用到注解反射,那下面我们来看下注解反射: 2.1、注解 注解基本概念 注解(Annotation)提供了一种关联信息以及元数据途径方法。...junit5套件执行 @RunWith(JUnitPlatform.class) @SelectClasses({ExportTest.class, Export123Test.class}) public

1.2K40

JUnit5基础教程

JUnit5是Java单元测试框架,用于测试Java程序代码。作为一名软件测试工程师,掌握JUnit是非常重要。我们将从头开始,一步步学习JUnit5用法。 一、准备工作 1....创建测试类:使用@Test注解标注测试方法,测试类名通常以Test结尾,如:MathTests。...JUnit支持把多个相关测试组织在一起: - @Suite用于注解测试套件类 - @RunWith(Suite.class)用于启动测试套件 - @Categories用于给测试方法添加分类...- 然后可以在套件中包含指定分类测试 七、参数化测试 使用@ValueSource等注解,可以运行同一测试逻辑针对不同输入。...希望此详细教程能够帮助初级工程师彻底掌握JUnit5使用。请在学习使用中遇到任何问题,随时与我讨论。

33920

Selenium 中 JUnit 注解

JUnit 是一个基于 Java 开源框架,可帮助测试人员执行单元测试JUnit 主要用于测试应用程序每个单元组件,例如类方法。...它有助于编写运行可重复自动化测试,以确保项目代码按预期运行。还可以使用 JUnit 执行 Selenium 自动化测试用例,以测试 Web 应用程序网站。...为什么 JUnit测试人员中如此受欢迎 毫无疑问,JUnit 被认为是顶级 Java 测试框架之一。...提供创建测试套件工具,该套件还包括多个测试用例甚至其他测试套件。 提供 Test Runner 来轻松执行测试套件。 使测试代码更易读、更优雅并提高质量。...JUnit 4 提供了强大报告功能来帮助您了解被忽略测试计数以及运行测试计数失败测试计数。

83710

Java魔法堂:JUnit4使用详解

固件测试 3. 忽略测试用例 4. 异常测试 5. 超时测试 6. 测试运行器 7. 参数化测试 8. 套件测试 9....注意通过注解 @BeforeClass  @AfterClass 标注方法一次测试过程仅被调用一次而已。...当然也可以通过去除注解 @Test 来达到这个目的,但去除注解 @Test 会令到eclipseJUnit View中无法显示该测试方法。...四、异常测试                                   通过注解 @Test(expected=Class类型) 来标注期待测试方法执行时抛出哪种异常对象,若测试方法不抛出异常异常对象与期待异常对象不相同则测试失败...  JUnit4去除JUnit3中套件测试注解,而是通过另一形式提供套件测试

74750

JUnit VS TestNG

隔离一段代码以确保其有效性准确性。代码单个组件可以是函数、模块、对象方法。单元测试总是在集成测试之前进行。它有助于在应用程序开发生命周期早期阶段发现缺陷。...下面分享 JUnit TestNG 框架之间主要差别: 测试套件 测试套件由一组测试用例组成,允许同时执行测试。...测试套件功能在 JUnit 早期版本中是不允许,但在 JUnit 5 中引入,而 TestNG 早早地就支持了该功能。尽管两者都有测试套件,但它们在每个测试套件上执行测试方式存在关键差异。...两个类 JUnit1 JUnit2 是使用注解 @Suite 编写。...此功能包含了是否应忽略考虑特定单元测试JUnitTestNG都配备了这个特性,以及前面讨论所有注释。

1.4K30

如何利用 xUnit 框架对测试用例进行维护?

仍然是 99% 研发工程师首选框架,方便测试工程师与研发工程师交流(拉关系~~); TestNG 使用多用于测试工程师; Junit5 还未大规模普及(最推荐框架,成熟、好用、研发测试通用);...很多框架基于 Junit4 定制; 2.2 测试用例核心元素 测试用例名字:特性方法名 测试用例描述与标签:注解 测试用例容器:类或者套件 测试过程 单元测试 Web 自动化测试 Selenium...、@BeforeSuite Junit5: @BeforeClass @BeforeEach 实操演示 1 在用例执行前后增加 @Before @After: 运行结果: 实操演示 2 再增加..., 写上注解 @RunWith(Suite.class), 表明这是一个测试套件,是多个测试一个集合,一个容器; 然后利用注解 @Suite.SuiteClasses 来设置测试类集合,设置测试类执行顺序...顺序 继承顺序 套件之间顺序 参考文档链接 JUnit4 单元测试框架 [https://junit.org/junit4/] JUnit5 单元测试框架 [https://junit.org/junit5

57110

测试开发实战|如何利用 xUnit 框架对测试用例进行维护?

仍然是 99% 研发工程师首选框架,方便测试工程师与研发工程师交流(拉关系~~); TestNG 使用多用于测试工程师; Junit5 还未大规模普及(最推荐框架,成熟、好用、研发测试通用);...很多框架基于 Junit4 定制; 2.2 测试用例核心元素 测试用例名字:特性方法名 测试用例描述与标签:注解 测试用例容器:类或者套件 测试过程单元测试Web 自动化测试 SeleniumApp...>test 2)src/test/java 下创建测试Junit4DemoTest 注意 测试类要以 Test 开头或者结尾maven auto-importsrc...) 按照名字 ASCII 顺序(稳定常用,建议使用) TestNG、Junit5: 可以通过注解设置顺序 Order 顺序演示 运行结果: 2.5 测试套件执行顺序支持 Junit4:@BeforeClass..., 写上注解 @RunWith(Suite.class), 表明这是一个测试套件,是多个测试一个集合,一个容器; 然后利用注解 @Suite.SuiteClasses 来设置测试类集合,设置测试类执行顺序

1.1K10

软件测试|Junit5基本使用

Developer 一张图来说明 JUnit 5 架构: JUnit Platform: JUnit Jupiter: JUnit Vintage: 嵌套单元测试 Lambda支持 参数化测试 重复测试...动态测试 JUnit 4 与 JUnit 5注解比较 图片 1)创建 maven 工程 XUnit,pom.xml中添加Junit5依赖。...未来,Eclipse 将提供原生 JUnit 5 支持,那时我们不再需要此注解Junit5官方给出了替代它注解: 有两个包testcasedemo, junit5demo,利用 @RunWith+...套件类: 测试结果: 将 junit5demo 包下 TestJunit5demo testcasedemo.demo2 所有测试类过滤出来并执行。...套件类: 测试结果: 在testcasedemo.demo2.TestDemo2方法testDemo2上加上注解@Tag: 过滤并执行方法testDemo2: 套件类: 测试结果: Junit5官网:

64620

浅谈基于 JUnit 单元测试

文章目录 1 简介 2 特点 3 内容 3.1 注解 3.2 断言 4 JUnit 3.X JUnit 4.X 区别 4.1 JUnit 3.X 4.2 JUnit 4.X 4.3 特别提醒 5...JUnit 测试可以组织成测试套件包含测试案例,甚至其他测试套件Junit 显示测试进度,如果测试是没有问题条形是绿色测试失败则会变成红色; JUnit 测试可以自动运行,检查自己结果,并提供即时反馈...args) { junit.textui.TestRunner.run(suit()); } } 5.2 示例二:套件测试 首先,介绍一下套件测试,简单来讲,测试套件是指:一些测试不同类用例...,可以使用@RunWith@Suite注解把所有的测试类套在一起,从而形成测试套件。...下面,作者就给出一些具体编写测试代码技巧较好实践方法: 不要用TestCase构造函数初始化Fixture,而要用setUp()tearDown()方法; 不要依赖假定测试运行顺序,因为

1K50

Junit5 架构、新特性及基本使用(常用注解套件执行)

Developer 一张图来说明 JUnit 5 架构: JUnit Platform: JUnit Jupiter: JUnit Vintage: 嵌套单元测试 Lambda支持 参数化测试 重复测试...动态测试 JUnit 4 与 JUnit 5注解比较 1080×435 122 KB 1)创建 maven 工程 XUnit,pom.xml中添加Junit5依赖。...未来,Eclipse 将提供原生 JUnit 5 支持,那时我们不再需要此注解Junit5官方给出了替代它注解: 有两个包testcasedemo, junit5demo,利用 @RunWith+...套件类: 测试结果: 将 junit5demo 包下 TestJunit5demo testcasedemo.demo2 所有测试类过滤出来并执行。...套件类: 测试结果: 在testcasedemo.demo2.TestDemo2方法testDemo2上加上注解@Tag: 过滤并执行方法testDemo2: 套件类: 测试结果: Junit5官网:

50720

软件测试|Junit5基本使用

Developer 一张图来说明 JUnit 5 架构: JUnit Platform: JUnit Jupiter: JUnit Vintage: 嵌套单元测试 Lambda支持 参数化测试 重复测试...动态测试 JUnit 4 与 JUnit 5注解比较 图片 1)创建 maven 工程 XUnit,pom.xml中添加Junit5依赖。...未来,Eclipse 将提供原生 JUnit 5 支持,那时我们不再需要此注解Junit5官方给出了替代它注解: 有两个包testcasedemo, junit5demo,利用 @RunWith+...套件类: 测试结果: 将 junit5demo 包下 TestJunit5demo testcasedemo.demo2 所有测试类过滤出来并执行。...套件类: 测试结果: 在testcasedemo.demo2.TestDemo2方法testDemo2上加上注解@Tag: 过滤并执行方法testDemo2: 套件类: 测试结果: Junit5官网:

63640

开发必会测试知识,Junit+Mock+Assert+DevOps

目录: 为什么要有测试测试包括哪些类型? 为什么要有单元测试? 单元测试七点特征 Mockito & Assert Junit、TestNG DEVOPS 为什么要有测试?...Annotation Support 注解支持区别 中英文配合来看,英文可以看到更加具体,可知 TestNG 支持注解JUnit 丰富很多,JUnit 不支持套件注解、分组注解、以及 @BeforeTest... @AfterTest注解,即上面提到能力不具备。...TestNG参数化测试非常灵活,通过注解 @DataProvider 引入定义了参数XML文件类。...Suite Test 套件测试 Group Test 分组测试 具体实现表现在 suite test 套件测试上面,“套件测试”是指捆绑几个单元测试并一起运行,测试套件(suite)运行失败,JUnit

1K30
领券