You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse中Junit5+Mockito测试用例无法运行求助

解决Eclipse单独运行Mockito+JUnit5测试用例的NoSuchMethodError问题

核心原因

Eclipse单独执行测试时的类路径与Maven构建时的类路径不一致,导致Mockito 5.7.0依赖的ByteBuddy版本未被正确加载,触发方法缺失错误。

分步解决方案

1. 显式锁定ByteBuddy兼容版本

Mockito 5.7.0依赖特定版本的ByteBuddy(对应版本为1.14.11),在pom.xml中直接声明依赖,避免版本冲突:

<dependency>
    <groupId>net.bytebuddy</groupId>
    <artifactId>byte-buddy</artifactId>
    <version>1.14.11</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>net.bytebuddy</groupId>
    <artifactId>byte-buddy-agent</artifactId>
    <version>1.14.11</version>
    <scope>test</scope>
</dependency>

添加后执行mvn clean install,右键项目选择**Maven > Update Project...**同步依赖。

2. 修正Eclipse测试运行配置的类路径

  • 右键报错的测试类,选择Run As > Run Configurations...
  • 切换到Classpath标签,检查User Entries下的ByteBuddy依赖版本
  • 若存在旧版本,点击Remove删除,再通过Add Maven Dependencies选择正确版本的ByteBuddy依赖添加

3. 清理Eclipse缓存与构建文件

  • 删除项目根目录下的target文件夹,执行mvn clean compile test-compile重新构建
  • 菜单栏选择Project > Clean...,选中当前项目执行清理
  • 重启Eclipse后再次尝试运行测试

4. 确认JUnit运行器配置

  • 在测试运行配置的Test标签页,确保Test runner选择的是JUnit 5
  • 取消勾选Use temporary JRE for run,或勾选后选择与项目一致的JRE版本

验证步骤

  1. 先运行纯JUnit5测试用例确认基础环境正常
  2. 执行报错的Mockito测试用例
  3. 通过Window > Show View > Other... > Maven > Maven Dependency Hierarchy搜索byte-buddy,确认所有依赖版本统一

内容的提问来源于stack exchange,提问作者aNKIt gARETa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 18:52:11