Junit5-Launcher

Launcher

从字面可以了解,Launcher是一个启动器。具体作用其实就是类似于TestNG的xml执行文件,可以灵活指定测试用例的执行,达到定制化测试的目的。

用法

具体的使用定义在JAVA的main(public static void main)方法中,作为测试用例执行的触发点。

具体代码如下

public class Junit5Launcher {

    public static void main(String[] args) {
        Arrays.stream(args).forEach(arg -> {
            System.out.println(arg);
        });
        System.out.println("可以通过args传递参数动态指定选择器和过滤器");

        // 1. 构造LauncherDiscoveryRequest
        // 指定测试类的查找和过滤规则
        LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
                /**
                 * 选择器-选择待执行的测试用例
                 * 取所有选择器的内容的并集执行
                 */
                .selectors(
                        selectPackage("com.Junit5")
                        // , selectPackage("com.Junit4")
                        // , selectPackage("com.Junit5.demo2")
                        , selectClass(Junit5Demo22Test.class)
                        , selectMethod("com.Junit5.demo2.Junit5Demo22Test#fun2")
                )
                /**
                 * 用例过滤器
                 */
                .filters(
                        // 只执行过滤出来的测试用例-通配符匹配
                        includeClassNamePatterns(".*1Test")
                        // 不执行过滤出来的测试用例-通配符匹配
                        // excludeClassNamePatterns(".*22Test")
                ).build();
        // 2. 通过LauncherFactory.create()来获取Launcher默认实现
        Launcher launcher = LauncherFactory.create();
        // 注册测试用例执行监听器
        TestExecutionListener listener = new SummaryGeneratingListener();
        // 3. 添加TestExecutionListener来进行测试结果的监听
        launcher.registerTestExecutionListeners(listener);
        // 4. 启动测试
        launcher.execute(request);
    }

}
### 配置 Spring Boot 3.x 中的 JUnitjunit-platform-launcher 对于在Spring Boot 3.x项目中集成JUnit并使用`junit-platform-launcher`进行测试,确保项目的构建工具(Maven或Gradle)配置正确至关重要。以下是基于Maven的具体操作指南。 #### Maven pom.xml 文件中的依赖设置 为了使Spring Boot应用能够顺利执行JUnit测试案例,需确认`pom.xml`文件内已包含必要的测试框架依赖项,并适当排除不兼容组件: ```xml <dependencies> <!-- 引入Spring Boot Starter Test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <!-- 显式声明junit-platform-launcher依赖 --> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> <version>${junit-platform.version}</version> <scope>test</scope> </dependency> </dependencies> ``` 上述代码片段展示了如何通过移除旧版JUnit引擎(`junit-vintage-engine`)来防止潜在冲突的同时加入最新版本的`junit-platform-launcher`支持[^1]。 此外,考虑到IDEA环境因素可能导致的问题,在遇到无法解析特定库的情况时,建议更新开发环境中使用的IntelliJ IDEA至较新版本(如2020及以上),这有助于减少因软件本身局限性引发的一系列麻烦[^3]。 最后值得注意的是,随着技术栈的发展变化,官方文档始终是最权威的信息源之一;因此定期查阅最新的Spring Boot与JUnit官方指导资料也是十分必要的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值