当前位置: 首页 > 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.jsqmd.com/news/51673/

相关文章:

  • 构造测试用例
  • WireShark抓包http,解密https - 教程
  • 2025年耐磨陶瓷衬板订制厂家权威推荐榜单:陶瓷橡胶复合板/二合一陶瓷衬板/氧化铝陶瓷片源头厂家精选
  • 2025 年 11 月企业转型升级服务机构权威推荐榜:战略咨询、数字化改造与组织优化服务实力品牌深度解析
  • 使用Java多态性进行数据类型转换
  • 基于Xilinx FPGA的三目摄像头AR0135的图像采集与LCD/HDMI/USB显示
  • 2025年11月薪酬体系设计咨询公司权威推荐榜:战略薪酬架构与绩效激励方案专业定制首选
  • 2025 年 11 月工厂管理咨询公司权威推荐榜:涵盖精益生产、流程优化、成本控制与效率提升的实战型服务品牌深度解析
  • 题解:P8025 [ONTAK2015] Związek Harcerstwa Bajtockiego
  • 习题解析之:摩尔斯电码转换
  • 初始Spring框架
  • 2025年不锈钢水垢清洁剂制造厂权威推荐榜单:水龙头除垢剂/不锈钢清洁剂/厨房重油污清洁剂源头厂家精选
  • 2025年旋挖钻机全套管供货厂家权威推荐榜单:全回转全套管‌/旋挖全套管‌/搓管机全套管源头厂家精选
  • 2025 年 11 月精益生产咨询公司权威推荐榜:专业流程优化与智能制造解决方案口碑之选
  • 权威实测背书!2025年11月高性价比家具品牌放心选
  • 2025 最新压滤机定制厂家权威排行榜 创新工艺 + 定制方案深度解析 国际协会认证推荐真空 / 板框 / 带式 / 污泥脱水 / 气化渣脱水专用 / 污泥专用脱水压滤机公司推荐
  • qt 获取一个Widget内的一个控件的值
  • 2025年杭州全网营销公司权威推荐榜单:网络营销‌/全网推广‌/线上推广源头公司精选
  • 2025 年 11 月供应链管理咨询服务权威推荐榜:高效协同与降本增效的智慧解决方案,助力企业优化全链路运营
  • 【JPCS出版 | 连续多年EI稳定检索】第九届力学、数学与应用物理学国际学术会议(ICMMAP 2025)
  • 2025年矿用氧气呼吸器实力厂家权威推荐:hyz4氧气呼吸器/舱式氧气呼吸器/正压呼吸器氧气瓶源头厂家精选
  • 私有文章
  • 2025 年 11 月降本增效咨询服务公司权威推荐榜:专业策略与实战案例深度解析,助力企业运营优化与成本控制
  • 题解:B4374 [GXPC-S 2025] 花 / flower
  • 2025 年 11 月企业管理咨询公司品牌权威推荐榜:战略规划、组织优化与数字化转型领域的专业服务口碑之选
  • pytest 5 种核心测试场景的 极简示例
  • 2025 年恒温恒湿系统厂家最新推荐榜:技术实力与市场口碑深度解析,覆盖多行业适配需求实验室恒温恒湿系统/车间恒温恒湿系统/仓库恒温恒湿系统/厂房恒温恒湿系统/空调恒温恒湿系统公司推荐
  • 2025年11月道闸厂家排行详解:技术实力与市场表现的双重考量
  • 2025 年 11 月国内十大咨询公司权威推荐榜:战略规划、管理优化与数字化转型顶尖服务深度解析
  • 2025年11月孩子学人工智能哪家好?靠谱机构推荐及选择指南