正好在做课程的时候需要用到Junit5.6.2,添加完正常的代码后执行,出现了下面这样意外错误

    1. package com.example.demospringboot.utils;
    2. import org.junit.jupiter.api.Assertions;
    3. import org.junit.jupiter.api.Test;
    4. public class ResultCodeTest {
    5. @Test
    6. void Code200() {
    7. ResultCode expected = ResultCode.OK;
    8. Assertions.assertEquals(expected.code(), 200, "断言200状态");
    9. }
    10. @Test
    11. void myt(){
    12. }
    13. }

    !!! 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:331)
    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)
    Process finished with exit code -3
    image.png
    各种检查代码都无功而返,该问题在我重写一个新的类时有完美消失,直到重新检查单元测试配置的时候发现了一点端倪,提示了测试方法Code200不存在,但是我一直没注意。
    image.png

    点击Method查看下改类的测试方法,发现什么都没有。
    image.png

    不知为何改单元测试类中无法找到对应的测试方法,而重新新建一个类,再填写一次代码即可,至于为啥这个类这么神奇就不得而知了。

    在六神的提示下用mvn test跑了一下,发现果然一切正常,可能是第一次跑单元测试的时候有点问题导致生成的临时configure有问题,然后后面你那怕改了,因为configure不更新所以照样报错,而通过mvn test跑的命令就不会有问题了。