今天学习springboot时遇到一个问题就是测试时提示TestEngine with ID ‘junit-jupiter‘ failed to discover tests错误,然后找了很多解决办法,最后给大家总结一下,希望能给像我一样的初学者们提供一些帮助,如有问题请多多指教。

简单说就是springboot2.x.x以后默认用的是Junit5,但是有的以来中继承了junit4,所以需要把junit排除掉。请看下面的详细步骤:

一、我相信现在学springboot用的大多都是 2.x.x版本之后的吧,所以先说springboot2.x.x版本之后的解决办法:

        1、需要在pom文件中的springboot的测试依赖中排除掉junit4的版本,然后刷新一下maven。

org.springframework.boot

spring-boot-starter-test

org.junit.vintage

junit-vintage-engine

        2、同时也要保证自己的测试类中的导入包的方式,因为

                junit5的方式是:import org.junit.jupiter.api.Test;

                junit4的方式是:import org.junit.Test;

        当然最好保证自己的maven是3.6.0的版本,但是我的maven是3.5.3的,发现也能用junit5。所以做了以上两步之后还是报错的小伙伴可以试试把maven,换成3.6.0以上的,作为一个排除的方法。

二、如果大家用的是springboot 2.x.x 版本之前的,可能是junit4,我没用过springboot2.x.x之前的版本,所以没遇见过junit4报错是什么样的,盲猜是提示:“TestEngine with ID ‘junit-vintage‘ failed to discover tests”,哈哈哈,虽然我没遇见过,但是在我找答案的时候,见过别人说过,所以简单说一下:

大概就是删除掉junit5的依赖,然后在测试类中把导入包的方式换成:

import org.junit.Test;

我也是一名初学者,只是想分享一些学习过程中遇到的问题和解决办法,希望能帮助到和我一样的初学者们。希望大家多多指教。

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: