mock

大前端架构思考与选择

穿精又带淫゛_ 提交于 2019-11-30 00:02:22
问题 “一云多端”成为趋势,终端类型越来越多。比如,现在PC Web网站的产品已经有了,现在想扩展APP,小 程序... ...怎么办?一个直接能想到的方法就是在原来的基础上,为APP等增加API接口,如下图所示: image.png image.png 这样做是可以的,然而一旦遇到修改,那么要同时修改几个端的代码,很麻烦,不是很完美。 “前后端分离”成为趋势。一开始的PC Web网站,大多是采用服务端渲染的前后端一体化的模式。随着技术的发展,前后端分离,前端渲染逐渐成为趋势。相应地,前端开发人员也从后端团队中独立出来。 最近兴起的APP,小程序等,天生就是前后端分离的。 前端,APP,小程序等各自独立成专门的团队,当然可以满足这种趋势。 相应地服务端需要为每一个前端部门提供服务,在实践中常常发现,重复的内容很多,有没有办法增加复用?或者说后端能否只对接一个“大前端”部门,剩下的“大前端”部门内部自己解决? image.png 服务端设计的API接口,面向通用服务,还是面向UI?各个端对数据的显示要求不同,给一个公共的API还是分别给不同的API? 比如,时间显示,PC端可能要求“2018-6-11”的格式,而APP端可能要求“2018/6/11”的格式,接口怎么给? 再比如,相同功能的一个接口,PC Web端需要20个字段,已经做好了。现在APP端因为屏幕小,只要10个字段就够了

整合到 Mockito 2

拟墨画扇 提交于 2019-11-29 21:13:40
为了能够持续改进 Mockito 和在未来提升测试体验,我们希望你能够升级到 Mockito 2.10!Mockito 按照语义化版本( semantic versioning )的方式对版本进行编排,并且只在主版本升级的时候包含有重大的修改。 在库的生命周期中,有时候重大升级是必要的,通常在重大升级中包含有很多重要的新特性,对老的库进行修改甚至有可能会修改 API。 有关完整的指南和一些不兼容的修改,请参考 What's new in Mockito 2 Wiki 页面中的内容。 我们希望能够享受 Mockito 2 带来的改进和便利。 Mockito Android 支持 在 Mockito version 2.6.1 中,我们原生包含 Android 支持(Android support)。 为了能够使用 Android 支持,添加 mockito-android 库到你项目的依赖中。这个 artifact 是 Mockito 项目组开发的,可以使用下面的的语法将依赖导入到你 Android 的项目中。 repositories { jcenter() } dependencies { testCompile "org.mockito:mockito-core:+" androidTestCompile "org.mockito:mockito-android:+" }

mock数据(模拟后台数据)

六月ゝ 毕业季﹏ 提交于 2019-11-29 16:37:55
1.将 data.json 文件拷贝到 sellapp 目录下(与 index.html 同级) 模拟的数据请求是从 data.json 中读取数据,接下来就来编写这些接口。 2.在 webpack.dev.conf.js 中添加以下代码: 此次 开发过程需要去本地数据地址进行请求,而原版配置在 dev-server.js 中,新版 vue-webpack-template 已经删除 dev-server.js,改用webpack.dev.conf.js代替,所以配置本地访问在 webpack.dev.conf.js 里配置即可。这里使用 express 框架去写一个 nodeserver,也可以用 express-router 来编写这些接口请求。 1)先获取数据:获取data.json中的数据,再分别将商家,商品,评论数据写入相应变量中 1 const express = require('express') 2 const app = express() 3 4 const appData = require('../data.json') 5 const seller = appData.seller 6 const goods = appData.goods 7 const ratings = appData.ratings 2)编写路由及相应接口 解析:调用 get

fake stub mock

China☆狼群 提交于 2019-11-29 12:25:58
fake:替代real环境,有简化的逻辑 stub:纯预定数据,不能动态变更 mock:可自定义返回 proxy:挡板,可在原结果上进行修改 spy:监听特定方法的调用 Charles map remote:切换线上环境、备份环境或者内部的测试环境 Fake 不同请求-->不同结果 map local:把线上的请求变成本地请求 stub 不同的请求-->相同的结果 reverse proxy: 来源: https://www.cnblogs.com/godlove/p/11517631.html

浅谈前后端分离思想对自由泳练习的指导意义

我的梦境 提交于 2019-11-29 11:45:58
以SAP BSP(Business Server Page), ABAP Webdynpro和WebClient UI为代表的SAP UI开发技术,在企业管理软件的前端开发领域里算是独树一帜的存在——因为ABAP提供的OPEN SQL,能够让开发人员直接在任何能编写ABAP代码的地方,直接操作数据库,所以使用这三门开发技术的初学者,很容易在前端编写大量本不应该放在前端实现的代码,最后形成一个前后端高度耦合的应用出来。 这种错误实践的一个例子,比如在WebClient UI的控制器里,直接使用OPEN SQL访问数据库,将数据读取出来后,同样在控制器里,再将这些按照数据库表的格式定义的数据转换成符合UI显示的格式。 比较好的实践,就是把数据库操作封装成一个API,该API返回的结果,通过DTO(Data Transfer Object)转换成可以直接被UI展示的格式,这样UI和控制器都不需要知道底层数据库的格式,实现了前后端的解耦。 今年是Jerry从事自由泳这项运动的第三年了。之前Jerry犯了一个很多自由泳初学者都容易犯的错误:急于以全身配合的方式练习自由泳。采用这种方式练习了一段时间后,Jerry感觉自己的水平停滞不前,于是和堡格莱斯恒温游泳馆的陈教练交流了一下。陈教练说,你还是先练习浮板打腿或者手蹼划水吧。Jerry心想,对啊,这不就是前后端分离吗?

Mock测试,何去何从

霸气de小男生 提交于 2019-11-29 10:56:52
2016-10-24 出处: Qtest之道 作/译者:闫耀珍 上面的情景是不是似曾相识呢?现今的业务系统已经很少是孤立存在的了,尤其对于一个大公司而言,各个部门之间的配合非常密切,我们或多或少都需要使用兄弟团队或是其他公司提供的接口服务,当然,我们也会给其他兄弟部门提供接口。这样的话,就对我们的联调和测试造成了很大的麻烦。假如各个兄弟部门的步伐完全一致,那么问题就会少很多,但愿望是美好的,现实是残酷的,要做到步伐一致基本是不可能的。所以,对于这种情况,我们的解决方案通常是搭建一个临时的mock server来模拟那些兄弟部门未开发完成的接口,以达到单方面联调测试的效果,我们下面会介绍一些mock小工具。一般来说,搭建这种临时的mock server比较简单,但是往往也意味着功能简单,有时候可能我们得需要为不同的接口进行重复开发以实现特定功能。这样的话问题就来了,随写随仍不是我们互联网人一贯的作风,我们需要将这种基础服务传承下去,要服务于众多的其他互联网人,我们称之为share。那么能不能构建一个通用的mock server呢?自己动手丰衣足食,萌生了自己开发一套mock系统,就有了现在的雏形——xMock,且听我慢慢道来关于mock的二三事。 一、什么是mock? mock这个单词解释起来,本意就是模拟或者效仿。我们可以把mock理解为一个替身,在软件开发领域,通常就是指模拟对象

Mock.js

試著忘記壹切 提交于 2019-11-29 10:15:41
什么是Mock.js Mock.js 是用来模拟后台返回的数据的。通过它可以让前端开发工程师独立于后台进行开发,而且无需修改既有的网络请求代码,就可以拦截Ajax请求,返回模拟的响应数据。 Mock.js官网 怎么使用Mock.js 来源: https://blog.csdn.net/qq_35366269/article/details/100777270

Mockjs原理简析

拜拜、爱过 提交于 2019-11-29 08:47:36
前言 有一个前后端分离的项目用到过Mockjs,后端提供了数据格式,前端通过模拟接口的返回数据,进行页面的渲染,有一段时间,百思不得其解,这个插件是怎么把ajax请求给拦下来的,网上搜索了一番,资料甚少,未果。 后来有一天,不知道怎么的突然想到,如果把ajax方法请求改写了,在发送请求之前提供一个回调是不是能实现这个功能? 思路 准备环境 从最方便的jquery入手,打算改写 $.ajax 需要解决的问题主要有 $.ajax 即将被改写,所以要自己实现一个发送请求的xhr方法(又懒得写封装的ajax方法,于是把 $.ajax 缓存起来,以待后用) 如何去匹配将被拦截的请求地址 拦截了请求之后,如何把预先准备好的数据当做请求成功后的数据 代码实现 let Mock = { // 存储匹配规则 rules: new Map (), // 缓存ajax方法 ajax: $ . ajax, mock(url, data ) { this . rules . set (url, data ) } } // 改写ajax方法 $ . ajax = function(options) { Mock . ajax({ url: options . url, beforeSend(XHR) { let data = Mock . rules . get(options . url) //

mock.js 劫持 ajax,模拟数据

非 Y 不嫁゛ 提交于 2019-11-29 08:47:11
http://mockjs.com/ Mock.js 是一款前端开发中拦截 Ajax 请求再生成随机数据响应的工具.可以用来模拟服务器响应. 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型. 大概记录下使用过程, 详细使用可以参见Mock文档 Mock Wiki 安装 使用npm安装: npm install mockjs ; 或直接 <script src="http://mockjs.com/dist/mock.js"></script> ; 数据模板格式: 'name |rule': value 属性名 |生成规则: 属性值 GET请求 发起get请求: $.ajax({ url: 'http://test.com', type: 'get', dataType: 'json' }).done( function( data, status, xhr) { console.log( JSON.stringify(data, null, 4)); }); Mock.js响应: var obj = { 'aa': '11', 'bb': '22', 'cc': '33', 'dd': '44'}; // Mock响应模板 Mock.mock( 'http://test.com', { "user|1-3": [{ // 随机生成1到3个数组元素 'name': '