Java 在Intellij中的JUnit上安装新版本

Java 在Intellij中的JUnit上安装新版本,java,intellij-idea,junit,Java,Intellij Idea,Junit,我正在尝试将JUInt版本更新为最新的5.4.2,以便使用assertdoesnothrow功能。我从下载了JUnitJupiter api,并在项目结构->模块->依赖->+中进行了设置 但当我运行以下部分代码时: import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; import static

我正在尝试将JUInt版本更新为最新的
5.4.2
,以便使用
assertdoesnothrow
功能。我从下载了JUnitJupiter api,并在
项目结构->模块->依赖->+
中进行了设置

但当我运行以下部分代码时:

import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
我得到以下错误:

!!! JUnit version 3.8 or later expected:

java.lang.ClassNotFoundException: junit.framework.ComparisonFailure
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.intellij.rt.execution.junit.JUnitStarter.junitVersionChecks(JUnitStarter.java:221)
at com.intellij.rt.execution.junit.JUnitStarter.canWorkWithJUnitVersion(JUnitStarter.java:207)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:61)
但是版本设置为
5.4.2
我不知道问题出在哪里。如何解决

编辑:我运行的命令:

"C:\Program Files\Java\jdk1.8.0_131\bin\java" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.6\lib\idea_rt.jar=65501:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.6\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.6\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.6\plugins\junit\lib\junit-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.6\plugins\junit\lib\junit5-rt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;C:\Users\User\IdeaProjects\HW\out\production\HW;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.6\plugins\junit\lib\opentest4j-1.0.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.6\plugins\junit\lib\junit-jupiter-api-5.4.2.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 Testing.Test.Example

为了便于管理特定库的版本,可以考虑使用一些管理工具,比如,或者,您在类路径中有一些旧的JUnit jar,或者没有包含所有的依赖项。另请参见..@PiotrS我正在尝试进行教授给我的测试。但是我没有设置JUnit。您可能需要在5之前使用JUnit版本。它改变了很多。测试使用了
assertDoesNotThrow
,据我所知,它只在Junit5中启用。无论如何,我的prof们说使用
5.4.2
版本似乎不明白为什么。请检查我运行的命令-也许你会发现我遗漏了什么。可能原因是junit-rt.jar?