SpringJunitTestMock测试类下各个注解/变量


1、下面对各变量/注解进行解释

@WebAppConfiguration

表明该类会使用web应用程序的默认根目录来载入ApplicationContext,默认的更目录是"src/main/webapp", 如果需要更改这个更目录可以修改该注释的value值。

@RunWith

使用 Spring-Test 框架;                                              在使用所有注释前必须使用@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境。

@ContextConfiguration(location = ): 指定需要加载的spring配置文件的地址

@Mock: 需要被Mock的对象

@InjectMocks: 需要将Mock对象注入的对象, 此处就是Controller

@Before: 在每次Test方法之前运行的方法,目前把登陆信息放到session中处理,以及初始化mockMvc。

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

@Test

2、具体测试的方法

测试方法中的mockMvc需要调用的方法:

1、mockMvc.perform执行一个请求(该请求由2构造);

2、MockMvcRequestBuilders.get("/user/1")构造一个请求

3、ResultActions.andExpect添加执行完成后的断言,目的测试返回结果,通过返回结果来确认测试是否成功。

4、ResultActions.andDo添加一个结果处理器,表示要对结果做点什么事情,比如此处使用MockMvcResultHandlers.print()输出整个响应结果信息。

5、ResultActions.andReturn表示执行完成后返回相应的结果。


mockMvc.perform(执行一个请求)

(MockMvcRequestBuilders.get("/order/one_orders")构造一个请求
                .session(session)
                .contentType(MediaType.APPLICATION_XHTML_XML)
                .param("page", "1")
        )
.andExpect(view().name("order/one_orders/index"))//执行完后写断言

3、整个测试过程非常有规律:

1、准备测试环境

2、通过MockMvc执行请求

3.1、添加验证断言

3.2、添加结果处理器

3.3、得到MvcResult进行自定义断言/进行下一步的异步请求

4、卸载测试环境

你可能感兴趣的:(SpringJunitTestMock测试类下各个注解/变量)