zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    1065 a+b and c(64)
    1049 counting ones
    1040 the longest symmetric
    1039 course list for student
    1038 recover the smallest number
    1035 head of a gang
    1033 to fill or not to fill
    node环境下通过redis共享session记录
    vue+koa+sequlize 搭建使程序员专注业务代码开发框架---对于nunjucks引入webpack后,产生的文件缓存相关的思考(四)
    charless抓包https---记录一下菜鸡的日常
  • 原文地址:https://www.cnblogs.com/ydymz/p/8464946.html
Copyright © 2011-2022 走看看