Spring Boot测试方法Failed to load ApplicationContext

今天, 在Spring Boot测试方法中, 突然出现了以下问题:

java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)
...

解决办法如下:
在pom.xml中添加测试依赖

<!-- SpringBootText注解依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

<!-- Junit依赖 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
</dependency>

测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class SearchTest {

    @Autowired
    private AccountDao mapper;
    
    @Test
    public void test2() {
        Account a = new Account();
        a.setName("李四");
        a.setPassword("123");
        a.setLevel(1);
        mapper.save(a);
    }
}

注意启动类App.java和controller, service, dao类的层级关系!

在测试类上添加@SpringBootTest和@RunWith注解就能解决以上问题

猜你喜欢

转载自www.cnblogs.com/dagger9527/p/11836722.html