• SpringMVC mock测试详解


    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = WebmanagerApplication.class)
    //配置事务的回滚,对数据库的增删改都会回滚,便于测试用例的循环利用
    @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
    @WebAppConfiguration
    public class CollectControllerTest {
        private MockMvc mockMvc;
    
        @Autowired
        WebApplicationContext webApplicationContext;
    
        @Before
        public void setUp() throws Exception {
            //MockMvcBuilders使用构建MockMvc对象,通过webApplicationContext获取控制器
            mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
            //通过类名获取控制器,没有webApplicationContext,不加载项目配置
            // mockMvc = MockMvcBuilders.standaloneSteup(userController).build();
        }
    
        /**
         * 收藏收集
         */
        @Test
        public void collectTest() throws Exception {
    //        执行一个请求
            mockMvc.perform(MockMvcRequestBuilders
    //                构造一个请求
                    .post("/collect/collect")
    //                添加参数
    //        Mock将URL的参数和通过
    // 使用param添加的参数添加到request中的parameter中了,
    // 而将content内容、类型并没有进行解析,直接添加到request的content中了。
                    .param("favoritesId", "12")
                    .param("title", "测试用例")
                    .param("url", "http://127.0.0.1:8080/")
    //                .content(collectStr)
    //                 指定传过来的是什么类型
                    .accept(MediaType.APPLICATION_JSON))
    //                添加验证断言
                    .andExpect(MockMvcResultMatchers.status().isOk())
    //        添加结果处理器
                    .andDo(MockMvcResultHandlers.print())
    //        进行自定义断言/进行下一步的异步请求
                    .andReturn();
        }
    }
  • 相关阅读:
    第二阶段团队站立会议06
    第二阶段团队站立会议05
    Spring
    JVM
    线程池
    java内存模型
    线程
    接口与抽象类
    动态绑定,多态,static
    同步异步,并发并行概念的理解
  • 原文地址:https://www.cnblogs.com/ydymz/p/8464946.html
Copyright © 2020-2023  润新知