很早之前的项目今天clone现在,想执行一个业务订单的检查,该检查的代码放在test单元测试中,启动也是好好的,当点击对应的方法执行Test的时候就报错
tip:已添加spring-boot-test-starter 所以本身就引入了junit5的库
NoClassDefFoundError: org/junit/platform/launcher/TestIdentifier
同样的Idea版本,现有的项目却可以执行,按照C老师的提示增加对junit5的引用支持,依然没有,StackOverflow上也是提示增加依赖,依赖加完之后执行报错一个 EnginListener NoClassDefFound的错误,再原本项目开发的电脑上执行Test无异常,百思不得其解很是抓狂。然后统一的JDK版本,还是不行,切到久远的远古测试分支,依然没法执行,老师讲的单一控制变量,哪里还有变量?为了避免其他的因素干扰,将pom中 Alibaba Cloud的Pom等依赖全部移除,依然重复出现上诉错误。
从控制复制执行Test指令时候的 CMD代码,与现有项目做对比发现并没有差异,那到底是哪里的问题?在不停的大脑壳的情况下,突然想到还有一个地方有区别,就是Spring Boot Parent,现有项目使用的是 springboot版本是高于2.2.10的,于是乎将旧项目的版本号更改为更高的版本号之后,可以运行单元测试了。笑死!!!!
具体原因未知