Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.launcher.Launcher.execute

错误:

Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.launcher.Launcher.execute(Lorg/junit/platform/launcher/LauncherDiscoveryRequest;)V
环境:

       idea 2017.1.3

       springboot2.2.4

       数据库连接驱动使用的 com.mysql.cj.jdbc.Driver

     单元测试的时候报了这个错误,

     方案一:查询得到可能是idea版本问题,使用springboot.2.2.4单元测试的时候使用的是juit5,官网提示需要idea2017.3版本以上,但是因为没试过idea升级会不会造成idea那些配置都需要重新配置,懒得麻烦,所以就没使用这个方案.

    方案二:降低springboot的版本,个人使用2.0.5.RELEASE,降低版本后注意mysql驱动就需要改成com.mysql.jdbc.Driver,不然会报另外一个错,其实这个时候编译就会有问题,当时没看直接单元测试才发现.然后原来使用2.2.4版本的单元测试类不是public的,不改前控制台会提示这个问题,然后我改成public的就是了.还有一个需要注意,降低版本后单元测试类需要加上

@RunWith(SpringRunner.class)

因为2.2.4自动生成的单元测试类是没有这个的.该方案亲测有用

    方案三:有查到另外博客说是junit-jupiter-api这个依赖会影响,但是我的没有使用该依赖,所以该方法没试过,具体链接https://www.bbsmax.com/A/xl56poK0zr/

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>RELEASE</version>
    </dependency>
</dependencies>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值