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