Controller测试
测试基类
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
@WebAppConfiguration
@AutoConfigureMockMvc
public abstract class MockitoBasedTest{
public static final Logger logger = LoggerFactory.getLogger(MockitoBasedTest.class)'
@AutoWired
public WebApplicationContext webApplicationContext;
@AutoWired
public MockMvc mockMvc;
@Before
public void init(){
logger.info("开始测试......");
}
@Before
public void setup() throws Exception{
//初始化测试用例类中由Mockito的注解标注的所有模拟对象
MockitoAnnotations.initMocks(this);
//构造Mock
mockMvc = MockMvcBuilders.webAppContestSetup(webApplicationContext).bulid();
}
@After
public void after(){
logger.info("测试结束......");
}
}
测试类
@Test
public void test() throws Exception{
MockHttpServletRequestBuilder test = MockMvcRequsetBuilders.get(url)
.param(name,value)
.accept("application/json;charset-utf-8");
MvcResult mvcResult =
mockMvc.perform(test).adnExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
String content = mvcResult.getResponse().getContentAsString();
logger.info(content);
}
Service、Job测试
@RunWith(SpringRunner.class)
@SpringBootTest