gradle 依赖:
implementation 'org.junit.jupiter:junit-jupiter' testCompile group: 'org.junit.platform', name: 'junit-platform-launcher', version:'1.2.0' testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version:'5.2.0' testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version:'5.5.0' testCompile group: 'org.junit.vintage', name: 'junit-vintage-engine', version:'5.2.0'
controller测试类方式:
基础test类:
import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class BaseTest {
@Before
public void init() {
}
@After
public void after() {
}
}
controllertest类:
import kl.idaas.authn.base.controller.TestController;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
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;
/**
* @author zhangWei
* @version 1.0
* @description: TODO
* @date 2020/9/22 14:37
*/
public class ControllerTest extends BaseTest{
@Autowired
private TestController testController;
private MockMvc mockMvc;
@Before
public void setup() {
mockMvc = MockMvcBuilders.standaloneSetup(testController).build();
}
@Test
public void demo() throws Exception {
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/testAuthnByPassword")
.header("traceId","3")
.header("tenantId","1"))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
System.out.println(mvcResult.getResponse().getContentAsString());
}
}