测试时,@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)
@SpringBootTest
public 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());
}
}