当前位置: 首页 > news >正文

使用Maven导入Junit5依赖时的注意事项

原先我的Maven中Junit5依赖如下:

        <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test</scope></dependency>

SaleMachineTest 测试类的import无问题:

屏幕截图 2025-11-25 220042
但是在运行 ConsoleOutputTest 测试类代码时

import org.junit.jupiter.api.Test;import java.io.ByteArrayOutputStream;
import java.io.PrintStream;import static org.junit.jupiter.api.Assertions.assertEquals;public class ConsoleOutputTest {@Testpublic void testConsoleOutput() {// 1. 创建一个 ByteArrayOutputStream 来捕获输出内容ByteArrayOutputStream outContent = new ByteArrayOutputStream();// 2. 保存原始的 System.out 用于断言后恢复原始流PrintStream originalOut = System.out;try {// 3. 将 System.out 重定向到 ByteArrayOutputStreamSystem.setOut(new PrintStream(outContent));// 4. 调用会打印到控制台的方法System.out.println("Hello, World!");// 5. 获取捕获的输出内容并断言String output = outContent.toString().trim();assertEquals("Hello, World!", output);} finally {// 6. 恢复原始的 System.out(重要!)System.setOut(originalOut);}}}

会报如下错误:

Exception in thread "main" java.lang.NoSuchMethodError: 'java.lang.String org.junit.platform.engine.discovery.MethodSelector.getMethodParameterTypes()'at com.intellij.junit5.JUnit5TestRunnerUtil.loadMethodByReflection(JUnit5TestRunnerUtil.java:127)at com.intellij.junit5.JUnit5TestRunnerUtil.buildRequest(JUnit5TestRunnerUtil.java:102)at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:43)at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)

经查询相关文章,将Junit5依赖改为如下(指定版本):

        <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.13.4</version><scope>test</scope></dependency>

ConsoleOutputTest 测试类即可运行,但是发现 SaleMachineTest 测试类的导包出现问题

屏幕截图 2025-11-25 221101

屏幕截图 2025-11-25 220531
将Junit5依赖改回去,则 SaleMachineTest 测试类的导包无问题,但是 ConsoleOutputTest 测试类运行又会报错。

最后经过查看依赖项,发现导包有误

屏幕截图 2025-11-26 153750
将Junit5依赖改为如下,则两个测试类都能运行

        <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.13.4</version><scope>test</scope></dependency>
http://www.rkmt.cn/news/61584.html

相关文章:

  • WireShark抓包http,解密https - 教程
  • 基于Xilinx FPGA的三目摄像头AR0135的图像采集与LCD/HDMI/USB显示
  • 2025智能仓储生产企业排名推荐:聚焦行业前沿,青岛茂源引领智造新趋势
  • 初始Spring框架
  • 2025 年 11 月供应链管理咨询服务权威推荐榜:高效协同与降本增效的智慧解决方案,助力企业优化全链路运营
  • 【JPCS出版 | 连续多年EI稳定检索】第九届力学、数学与应用物理学国际学术会议(ICMMAP 2025)
  • 2025 年恒温恒湿系统厂家最新推荐榜:技术实力与市场口碑深度解析,覆盖多行业适配需求实验室恒温恒湿系统/车间恒温恒湿系统/仓库恒温恒湿系统/厂房恒温恒湿系统/空调恒温恒湿系统公司推荐
  • 2025年11月合肥刑事律师推荐榜:十大专业律师权威评测与选择指南
  • flask: 获取接收到的所有post参数
  • 2025年11月合肥刑事律师推荐榜单:专业律师综合对比与选择指南
  • 2025年11月山姆好吃食品推荐榜:五款热门零食综合对比与选购
  • 2025 年铝艺门厂家最新推荐榜,技术创新与品质服务双驱动的优质品牌深度解析铝艺大门/铸铝门公司推荐
  • 2025 年 11 月企业运营管理咨询公司 TOP10 权威推荐榜:战略规划、流程优化与组织效能提升的顶尖智囊深度解析
  • 获取路径
  • 2025 年填充机厂家最新推荐榜,技术创新与品质口碑双重验证的标杆品牌胶囊填充机/自动胶囊填充机公司推荐
  • 2025 年焚烧炉测试厂家最新推荐榜:技术实力与市场口碑深度解析,兼具专业性与合规性的优质品牌焚烧炉测试/测试焚烧炉/焚烧炉去除率/焚烧炉处理设施性能测试/焚烧炉水泥窑测试公司推荐
  • 杂记2025-11-24
  • 2025年深圳旧房改造公司推荐榜
  • 2025年河北叛逆行为矫正学校权威推荐榜单:青少年叛逆教育‌/叛逆期管教‌/叛逆少年学校精选
  • NOIP 集训 day4 图论 2
  • django启动,允许全部ip访问
  • 活动预告|本周六!IvorySQL 邀您相聚第八届中国 PostgreSQL 数据库生态大会
  • 突破成绩限制:后保研如何助力不同排名学生实现院校跃升?
  • 年会策划公司哪家性价比高?这十大策划公司按需选配不花冤枉钱!
  • 2025 年 11 月棒球帽品牌实力推荐榜:涵盖薄款/厚款/男款/女款/可水洗/复古款/潮流款/运动款,精选百搭设计与舒适面料之选
  • Docker安装(基于云服务器ECS实例 CentOS 7.9系统) - 教程
  • 2025 年 11 月羽绒服厂家推荐排行榜:薄款/厚款/男款/女款/可水洗/抗皱/百搭/潮流款/街头风/小红书热门款,时尚与实用兼具的冬季精选
  • 2025年高压纳米均质机工厂权威推荐榜单:均质机‌/高压均质机‌/高压细胞破壁机源头工厂精选
  • 情人节礼物推荐指南:极萌胶原炮,科技守护她的年轻光芒
  • 2025 年 11 月 GEO 公司口碑指南:多行业企业推荐合集