概述
controller如下
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String hello(String name){
return name;
}
}
使用springbootTest测试代码如下:
//配置事务的回滚,对数据库的增删改都会回滚,便于测试用例的循环利用
@Rollback(value = true)
@SpringBootTest
public class HelloTest {
private static final Logger logger = LoggerFactory.getLogger(HelloTest.class);
private MockMvc mockMvc;
@Before //这个方法在每个方法执行之前都会执行一遍
public void setup(){
logger.info("test before");
mockMvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
}
@Test
public void getHello() throws Exception {
logger.info("hello test");
mockMvc.perform(MockMvcRequestBuilders.get("/hello") //请求的url,请求的方法是get
.contentType(MediaType.APPLICATION_JSON)//数据传输格式
.param("name","judy"))
.andExpect(status().isOk())//期望返回的状态码是200
.andDo(print()) //打印出请求和相应的内容
.andReturn().getResponse().getContentAsString();//将返回内容转换为字符串
}
}
测试时发现,直接在浏览器输入网址会报错:
This application has no explicit mapping for /error, so you are seeing this as a fallback.
但是使用SpringbootTest测试就可以运行
原因是Application启动类的位置不对.要将Application启动类放在最外侧。
原因:spring-boot会自动加载启动类所在包下及其子包下的所有组件.
最后
以上就是灵巧书包为你收集整理的springboot启动类位置的全部内容,希望文章能够帮你解决springboot启动类位置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复