当前位置: 首页 > news >正文

网站开发人员的 生活南宁网站公司

网站开发人员的 生活,南宁网站公司,打开网站总显示建设中,滕州建设局网站前言 Web环境模拟测试 企业开发不仅要保障业务层与数据层的功能安全有效#xff0c;也要保障表现层的功能正常。但是我们一般对表现层的测试都是通过postman手工测试的#xff0c;并没有在打包过程中代码体现表现层功能被测试通过。那么能否在测试用例中对表现层进行功能测…前言 Web环境模拟测试 企业开发不仅要保障业务层与数据层的功能安全有效也要保障表现层的功能正常。但是我们一般对表现层的测试都是通过postman手工测试的并没有在打包过程中代码体现表现层功能被测试通过。那么能否在测试用例中对表现层进行功能测试呢答案是可以的我们可以使用MockMvc来实现它。 1、测试类中启动web环境 每一个springboot的测试类上方都会标准SpringBootTest注解而注解带有一个属性叫做webEnvironment。通过该属性就可以设置在测试用例中启动web环境具体如下 SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.RANDOM_PORT) public class BookControllerTest {} 测试类中启动web环境时可以指定启动的Web环境对应的端口springboot提供了4种设置值分别如下 MOCK根据当前设置确认是否启动web环境例如使用了Servlet的API就启动web环境属于适配性的配置DEFINED_PORT使用自定义的端口作为web服务器端口RANDOM_PORT使用随机端口作为web服务器端口NONE不启动web环境 建议大家测试时使用RANDOM_PORT避免项目打包运行时由于端口冲突导致意外现象的出现。 2、测试类中发送请求 单元测试MockMvc 1、mockMvc.perform执行一个请求 2、MockMvcRequestBuilders.get(/user/1)构造一个请求 3、ResultActions.andExpect添加执行完成后的断言 4、ResultActions.andDo添加一个结果处理器表示要对结果做点什么事情比如此处使用MockMvcResultHandlers.print()输出整个响应结果信息。 5、ResultActions.andReturn表示执行完成后返回相应的结果。 MockMvcBuilder是用来构造MockMvc的构造器其主要有两个实现StandaloneMockMvcBuilder和DefaultMockMvcBuilderStandaloneMockMvcBuilder继承了DefaultMockMvcBuilder。直接使用静态工厂MockMvcBuilders创建即可 MockMvcBuilders.webAppContextSetup(WebApplicationContext context)指定WebApplicationContext将会从该上下文获取相应的控制器并得到相应的MockMvc MockMvcBuilders.standaloneSetup(Object... controllers)通过参数指定一组控制器这样就不需要从上下文获取了 MockMvcRequestBuilders主要API MockHttpServletRequestBuilder get(String urlTemplate, Object... urlVariables)根据uri模板和uri变量值得到一个GET请求方式的MockHttpServletRequestBuilder如get(/user/{id}, 1L) MockHttpServletRequestBuilder post(String urlTemplate, Object... urlVariables)同get类似但是是POST方法 MockHttpServletRequestBuilder put(String urlTemplate, Object... urlVariables)同get类似但是是PUT方法 MockHttpServletRequestBuilder delete(String urlTemplate, Object... urlVariables) 同get类似但是是DELETE方法 ResultActions 调用MockMvc.perform(RequestBuilder requestBuilder)后将得到ResultActions通过ResultActions完成如下三件事ResultActions andExpect(ResultMatcher matcher) 添加验证断言来判断执行请求后的结果是否是预期的ResultActions andDo(ResultHandler handler) 添加结果处理器用于对验证成功后执行的动作如输出下请求/结果信息用于调试MvcResult andReturn() 返回验证成功后的MvcResult用于自定义验证/下一步的异步处理(主要是拿到结果进一步做自定义断言) 我们该在测试类中如何发送请求呢具体操作如下 步骤①在测试类中开启web虚拟调用功能通过注解AutoConfigureMockMvc实现此功能的开启。 步骤②定义发起虚拟调用的对象MockMVC通过自动装配的形式初始化对象。 步骤③创建一个虚拟请求对象封装请求的路径并使用MockMVC对象发送对应请求 SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.RANDOM_PORT) AutoConfigureMockMvc public class BookControllerTest {Autowiredprivate MockMvc mockMvc;Testpublic void getBooks() throws Exception {//创建虚拟请求当前访问/books MockHttpServletRequestBuilder requestBuilder MockMvcRequestBuilders.get(/books);//执行对应的请求mvc.perform(requestBuilder);} } 注意访问路径不要写 http://localhost:8080/books因为前面的服务器IP地址和端口使用的是当前虚拟的web环境无需指定仅指定请求的具体路径即可。 另外测试用例如果测试时产生了事务提交就会在测试过程中对数据库数据产生影响进而产生垃圾数据。这个过程不是我们希望发生的如何避免呢 我们只需要在原始测试用例中添加注解Transactional即可实现当前测试用例的事务不提交。当程序运行后只要注解Transactional出现的位置存在注解SpringBootTestspringboot就会认为这是一个测试程序无需提交事务所以也就可以避免事务的提交。 当然这里我们也可以使用h2数据库来做测试具体详情可以查看 SpringBootMockMvcH2 自动化单元测试的示例代码https://download.csdn.net/download/A_aspectJ/88879412?spm1001.2014.3001.5503SpringBootMockMvcH2 自动化单元测试的例代码开发过程总结 总结 在测试类中测试web层接口要保障测试类启动时启动web容器使用SpringBootTest注解的webEnvironment属性可以虚拟web环境用于测试为测试方法注入MockMvc对象通过MockMvc对象可以发送虚拟请求模拟web请求调用过程web虚拟调用可以对本地虚拟请求的返回响应信息进行比对分为响应头信息比对、响应体信息比对、响应状态信息比对。
http://www.hkea.cn/news/14442347/

相关文章:

  • wordpress 获取标签所有文章seo长沙
  • 北京社保网站减员怎么做wordpress注册没用
  • 装修网站效果图品牌建设方式有哪些?
  • 收录查询 站长工具永久免费的crm软件系统
  • 网站里的图片是怎么做的斗牛网站开发
  • 南宁做网站开发的公司个人工作室可以做哪些项目
  • wordpress看文网站上海城隍庙几点关门
  • 网站服务器搬迁学ps网课平台哪个好
  • 高端企业网站源码太原论坛建站模板
  • 网站分几个阶段建设那些做环保网站的好处
  • 网站设计的目的和任务手表设计网站
  • 片头网站互联网创业项目什么赚钱
  • 响应式网站模板html5禹城有做网站
  • 企业在线咨询服务系统昆明百度seo排名优化
  • 网站设计工程师静态网页文件
  • 个人网站有商业内容备案本地网站开发环境搭建
  • 网站建设合同免费下载垂直电商网站建设方案
  • 制作自助网站中华建设
  • 资阳建设机械网站海口网约车最新政策
  • 做网站推广话术平台搭建与拆除流程
  • 山西网站建设交流建筑的网站
  • 西安微信网站个人网页制作ps
  • 提高网站排名成全动漫免费观看在线看
  • 电子商务网站建设.pdf数字经济发展情况报告
  • 电子商务网站建设题目自己设计一个网页
  • 怎么做能够让网站流量大网页游戏网站快手
  • 网站建设制作介绍河南目前基金会网站做的比较好的
  • 百度贴吧的互动社区心理医院网站优化服务商
  • 金华网站开发建设泉州自主建站模板
  • 提高网站互动性互联网公司设计