正好在做课程的时候需要用到Junit5.6.2,添加完正常的代码后执行,出现了下面这样意外错误
package com.example.demospringboot.utils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class ResultCodeTest {
@Test
void Code200() {
ResultCode expected = ResultCode.OK;
Assertions.assertEquals(expected.code(), 200, "断言200状态");
}
@Test
void myt(){
}
}
!!! 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
各种检查代码都无功而返,该问题在我重写一个新的类时有完美消失,直到重新检查单元测试配置的时候发现了一点端倪,提示了测试方法Code200不存在,但是我一直没注意。
点击Method查看下改类的测试方法,发现什么都没有。
不知为何改单元测试类中无法找到对应的测试方法,而重新新建一个类,再填写一次代码即可,至于为啥这个类这么神奇就不得而知了。
在六神的提示下用mvn test跑了一下,发现果然一切正常,可能是第一次跑单元测试的时候有点问题导致生成的临时configure有问题,然后后面你那怕改了,因为configure不更新所以照样报错,而通过mvn test跑的命令就不会有问题了。