尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

使用Maven导入Junit5依赖时的注意事项
📅 发布时间:2026/6/19 5:36:22

原先我的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>

相关新闻

  • WireShark抓包http,解密https - 教程
  • 基于Xilinx FPGA的三目摄像头AR0135的图像采集与LCD/HDMI/USB显示
  • 2025智能仓储生产企业排名推荐:聚焦行业前沿,青岛茂源引领智造新趋势

最新新闻

  • 从TTL到485:深入解析差分信号转换电路的设计要点与实战应用
  • 杭州GEO优化公司2026年6月Top5:选型疑问与避坑全解 - GEO优化
  • 2026年最新武汉光谷科技职业技术学校联系方式及招生办电话号码 - 武汉中职最新信息发布
  • 揭秘Mac鼠标滚轮终极优化:让外接鼠标拥有触控板般的丝滑体验
  • MC9RS08KA2内部时钟与定时器深度解析:从原理到低功耗设计实战
  • 2026玉林本地人必选防水补漏检测维修公司靠谱服务商TOP5推荐:房屋渗漏水检测维修/卫生间/厨房/天花板/阳台/外墙渗漏水检测补漏维修-暗管漏水检测专业仪器精准定位漏水点 - 即刻修防水

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号