开发者社区 问答 正文

无法在最新的Eclipse Jee 2019-09上运行JUnit 5测试用例

我在旧的eclipse(Photon)上遇到了一些问题(内容帮助),因此切换到了最新的eclipse jee 2019.因此,当我尝试运行一些以前可以工作的junit 5单元测试时,现在无法识别为Junit5测试用例,并且抛出以下错误。

在此处输入图片说明

我也低于错误消息:

java.lang.NoSuchMethodError:org.junit.platform.launcher.Launcher.execute(Lorg / junit / platform / launcher / TestPlan; [Lorg / junit / platform / launcher / TestExecutionListener;)V在org.eclipse.jdt.internal处。 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)处的junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:89)在org.eclipse.jdt.internal.junit.runner中。 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.runTests(RemoteTestRunner.java:541)位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763) org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)上的RemoteTestRunner.java:463)

对此有帮助吗?

展开
收起
垚tutu 2019-12-19 16:52:44 1608 分享 版权
阿里云 AI 助理回答

遇到这个问题,通常是因为Eclipse中JUnit的版本与你项目依赖的JUnit版本不匹配所导致的。根据你的错误信息,看起来是Eclipse正在使用一个不兼容JUnit 5的JUnit Platform Launcher版本。以下是一些建议来解决这个问题:

  1. 检查并更新JUnit库版本

    • 确保你的项目依赖中使用的是JUnit 5的正确版本。在pom.xml(如果你使用Maven)或build.gradle(如果你使用Gradle)中确认JUnit Jupiter、JUnit Vintage Engine和JUnit Platform的版本。例如,确保有如下依赖(以Maven为例):
      <dependency>
       <groupId>org.junit.jupiter</groupId>
       <artifactId>junit-jupiter-engine</artifactId>
       <version>5.x.y</version>
       <scope>test</scope>
      </dependency>
      

      其中5.x.y应替换为具体的版本号,确保它与Eclipse支持的版本相匹配。

  2. 更新Eclipse JUnit插件

    • 在Eclipse中,访问Help > Marketplace,搜索“JUnit”相关的插件,查看是否有针对JUnit 5的更新或者专门的插件需要安装。确保安装了最新版本的JUnit 5支持插件。
  3. 清理并重建项目

    • 在Eclipse中,尝试执行Project > Clean...,然后选择你的项目进行清理。之后,重新构建项目看看问题是否得到解决。
  4. 检查并配置JUnit运行器

    • 在Eclipse中,右击测试类或方法,选择Run As > Run Configurations...,检查JUnit配置是否正确指向了JUnit 5。如果有必要,可以创建一个新的配置,确保在JUnit选项卡下选择了正确的JUnit版本。
  5. 移除旧版JUnit库

    • 检查项目的构建路径(Project Properties > Java Build Path > Libraries),确保没有旧版本的JUnit库被意外包含进来,这可能会导致版本冲突。

如果以上步骤都不能解决问题,可能需要更详细地检查Eclipse的日志文件,看是否有其他线索指示具体的问题所在。希望这些建议能帮助到你!

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答