测试时,@SpringApplicationConfiguration(classes = Application.class) 报错,注解不能导入。
在学习spring boot时,按照文档学习时测试时,我也是遇到这个问题,看了好多资料,有的说是这个注解在1.4就被替换了,我用的1.5.2版本的,直接用自动生成的两个注解就可以实现测试功能。
@RunWith(SpringRunner.class) @SpringBootTest 测试代码:
package com.didispace.hello;
import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;import org.junit.Before;
import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.test.web.servlet.MockMvc;import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;import org.springframework.test.web.servlet.setup.MockMvcBuilders;@RunWith(SpringRunner.class)
@SpringBootTestpublic class HelloAppTests {//模拟调用controller接口发起请求
private MockMvc mvc; @Before public void setUp(){ mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build(); } @Test public void hello() throws Exception{ mvc.perform(MockMvcRequestBuilders.get("/hello") .accept(org.springframework.http.MediaType.APPLICATION_JSON) ).andExpect(content().string(equalTo("hello"))) .andExpect(status().isOk()); }}