解決Spring Boot測試方法Failed to load ApplicationContext問題

會Coding的猴子發表於2018-06-24

今天, 在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類的層級關係!

解決Spring Boot測試方法Failed to load ApplicationContext問題
在測試類上新增@SpringBootTest和@RunWith註解就能解決以上問題

相關文章