SpringBoot 2.2.5使用Maven打包时不执行单元测试

本文讨论了SpringBoot 2.2.5在使用Maven打包时,不执行JUnit5单元测试的问题。问题源于JUnit Platform的缺失,导致无法启动测试。解决方案包括手动引入JUnit Platform依赖并在测试类上添加@RunWith(JUnitPlatform.class)注解。遗留问题是SpringBoot 2.2.5与2.4.2在单元测试的可见性要求不同,2.4.2要求测试类和方法必须声明为public。
摘要由CSDN通过智能技术生成

问题描述

环境:SpringBoot 2.2.5

包管理工具:Maven

最开始引入的测试包是org.junit.test,属于JUnit4,工程package时会自动执行单元测试,后来了解到JUnit5一些很好的特性,打算用JUnit5替代JUnit4。SpringBoot 2.2.5提供了两套API,既有JUnit4也有JUnit5,所以我以为将包换成org.junit.jupiter.api.Test,对应的方法换成JUnit5就可以。但是换完之后发现每次package都没有执行测试用例,始终是:

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

官网对JUnit的定义:JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

SpringBoot 2.2.5中引入的JUnit如下图:JUnit Vintage + JUnit Jupiter + JUnit Platform,缺少JUnit Platform,官网给JUnit Platform的定义:

The JUnit Platform serves as a foundation for launching testing frameworks on the JVM. It also defines the TestEngine API for developing a testing framework that runs on the platform. Furthermore, the platform p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值