springboottest版本号_SpringBoot2 + Junit5测试案例

packagecom.test.demo;

importcom.test.demo.controller.IndexController;

importorg.junit.jupiter.api.*;//注意这里,这是junit5引入的;junit4引入的是org.junit.Test这样类似的包

importorg.slf4j.Logger;

importorg.slf4j.LoggerFactory;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.boot.test.context.SpringBootTest;

importorg.springframework.http.MediaType;

importorg.springframework.test.web.servlet.MockMvc;

importorg.springframework.test.web.servlet.MvcResult;

importorg.springframework.test.web.servlet.RequestBuilder;

importorg.springframework.test.web.servlet.request.MockMvcRequestBuilders;

importorg.springframework.test.web.servlet.result.MockMvcResultHandlers;

importorg.springframework.test.web.servlet.result.MockMvcResultMatchers;

importorg.springframework.test.web.servlet.setup.MockMvcBuilders;

importorg.springframework.web.context.WebApplicationContext;

//这里只写SpringBootTest这个注解;如果是junit4的话,就要加上@RunWith(SpringRunner.class)

@SpringBootTest

classDemoApplicationTests{

privatestaticfinalLoggerLOG=LoggerFactory.getLogger(DemoApplicationTests.class);

privateMockMvcmockMvc;

@Autowired

privateWebApplicationContextwebApplicationContext;

@Test

voidcontextLoads(){

}

@BeforeAll

publicstaticvoidbeforeAll(){

LOG.info("beforeAll");

}

@BeforeEach

publicvoidbeforeEach(){

LOG.info("beforeEach");//mockMvc=MockMvcBuilders.standaloneSetup(newIndexController()).build();

mockMvc=MockMvcBuilders.webAppContextSetup(webApplicationContext).build();

}

@AfterEach

publicvoidafterEach(){

LOG.info("afterEach");

}

@AfterAll

publicstaticvoidafterAll(){

LOG.info("afterAll");

}

@Test

publicvoidtestTwo()throwsException{

RequestBuilderrequest=MockMvcRequestBuilders.get("/index/getData")

.param("searchPhrase","ABC")//传参

.accept(MediaType.APPLICATION_JSON)

.contentType(MediaType.APPLICATION_JSON);//请求类型JSON

MvcResultmvcResult=mockMvc.perform(request)

.andExpect(MockMvcResultMatchers.status().isOk())//期望的结果状态200

.andDo(MockMvcResultHandlers.print())//添加ResultHandler结果处理器,比如调试时打印结果(print方法)到控制台

.andReturn();//返回验证成功后的MvcResult;用于自定义验证/下一步的异步处理;

intstatus=mvcResult.getResponse().getStatus();//得到返回代码

Stringcontent=mvcResult.getResponse().getContentAsString();//得到返回结果

LOG.info("status:"+status+",content:"+content);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值