import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.RequestBuilder;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
@RunWith(SpringRunner.class)
@SpringBootTest
@ComponentScan(value = "com.wkb.cmp.basic",lazyInit = true)
public class TaskControllerTests {
private MockMvc mockMvc;
@Autowired
TaskController taskController;
// 初始化
@Before
public void setUp() throws Exception {
System.out.println("执行初始化");
mockMvc = MockMvcBuilders.standaloneSetup(taskController).build();
}
// 测试
@Test
public void test() throws Exception {
TaskDto taskDto = new TaskDto();
taskDto.setPage(0);
taskDto.setSize(5);
// RequestBuilder request = MockMvcRequestBuilders.get("/HelloWorld")
RequestBuilder request = MockMvcRequestBuilders.post("/wkb/v1/tasksPage")
.contentType(MediaType.APPLICATION_JSON) //发送所用的数据格式
.accept(MediaType.ALL_VALUE) //接收所使用的数据格式
.content("{\"page\":0,\"size\":5}")//对于是bean接受的,可以使用json
.param("type","0") ; //附加参数
// .param("taskDto",taskDto) ;//附加参数
// 执行请求
ResultActions result = mockMvc.perform(request);
// 分析结果
result.andExpect(MockMvcResultMatchers.status().isOk()) // 执行状态
.andExpect(MockMvcResultMatchers.jsonPath("name").value("Tesla")) // 期望值
.andDo(MockMvcResultHandlers.print()) // 打印
.andReturn(); // 返回
}
}