黑猴子的家:SpringBoot-java.lang.NoSuchMethodError

1、异常

Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils.getDefaultClassLoader()Ljava/lang/ClassLoader;

2、解决方案

可以看到我们使用的是org.junit.jupiter.api.Test,而这个模块是Junit5才有的,并且Junit官网对这个模块使用有一定的要求,也就是IDEA的版本必须要是2017.3及以后的

黑猴子的家:SpringBoot-java.lang.NoSuchMethodError_第1张图片

而自己的IDEA版本为2017.1,因此,不想升级IDEA的参考下面解决采用Junit4进行单元测试

3、Demo01ApplicationTests

package com.example.demo;

import com.example.demo.controller.TestHello;

//import org.junit.jupiter.api.Test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class) //使用Spring的驱动器而不是junit的
@SpringBootTest //表示这是一个SpringBoot单元测试
public class Demo01ApplicationTests {

    @Autowired
    public TestHello testHello;

    @Test
    public void test01() {
        testHello.getMessage();
    }

}

4、pom.xml



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.2.2.RELEASE
         
    
    com.example
    demo01
    0.0.1-SNAPSHOT
    demo01
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-test
            
                
                    org.junit.jupiter
                    junit-jupiter-api
                
            
            test
        
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

你可能感兴趣的:(maven,java,junit,spring,人机交互)