前后端分离的项目,后端要怎么测试?
一、背景
一开始接触到 前后端分离 这个概念的时候,我所了解到的是后端可以专注开发,要测试效果的话可以用像 Thymeleaf 这样的模板引擎来渲染数据,因为不用像JSP那样把前后端的代码都写在同个页面里,所以这是前后端分离的一种体现。
后来又了解到,前后端分离 可以使用像 Postman 等工具对后端的代码进行测试,这样可以完全脱离前端的代码。
我有用过Postman,一般后台是使用@RestController,两者结合起来进行测试的。
从我的角度来说,我更倾向于后者,想知道具体是怎么回事。
二、问题
假如上述提到的postman的测试就能做后端测试的话,如果要测试轮播图片这种比较动态的东西,需要怎么测呢?postman能接收到传过来的图片信息(包括url)就可以了吗?
在正常的前后端分离,后端开发的测试,也是使用@RestController吗?
我刚接触编程,对这些事情不太理解。请大神指教,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你好,每个开发人员在初学Web开发时确实会有你所疑问的问题。
你已经了解的地方就是
@Controller
注解和@RestConroller
的不同。前者返回视图,交由视图解析器来分析视图并返回给浏览器;后者则是返回一个
JSON
数据,其关键就是前端的html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。这二者均是Web开发的历史产物。前者是前后端不分离时所用的视图返回结果,技术实现比如有
SpringMVC+Thymeleaf
;后者则是现在主流的前后端分离架构中所用的Api风格,比如SpringBoot + Vue
。而二者不同最关键的就在于这个Rest
。Rest
指的就是RestFul
风格的Api
,即根据URL
能获得JSON
的返回结果,然后交由前端处理。前后端的风靡首先就建立在RestFul风格和Ajax的提出。并且
JavaScript
语言使得浏览器具备了处理动态html页面的能力,从而后端负责渲染Html的责任就转移给了浏览器端。后端只需要提供一些必要数据即可。问题的矛盾性在于,如果是不分离时,根本不方便测试(即要测试的是页面的渲染结果),不能只根据返回的数据来看;而前后端分离,测试后端接口是否有问题只需要看返回的数据结果是否满足期望值即可,降低了测试成本,反而突出了分离的好处,各种测试工具也如雨后春笋。
而页面的渲染结果测试,那是前端开发人员需要去关注的地方。也正是因为获取数据与页面页面的剥离,加速了开发与测试的工作,并且使得后端和前端的专业性也变高,能够开发出更加优秀的Web程序。
我更喜欢用junit+swagger 需要测试性能时使用junit,平常api使用swagger测试,个人测试+前端交流两不误;
轮播图这种明显是前端的活,后端提供一个轮播图api接口返回图片地址就可以
后端单元测试可以用junit、Mockito、Spock等框架
接口测试可以使用Postman、IDEA自带的HttpClient