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注解就能解决以上问题