mock

Fetch的用法以及数据Mock

我们两清 提交于 2019-11-29 08:46:52
fetch是一种可代替 ajax 获取/提交数据的技术,有些高级浏览器已经可以window.fetch使用了。相比于使用 jQuery.ajax 它轻量(只做这一件事),而且它原生支持 promise ,更加符合现在编程习惯。 安装 npm install whatwg-fetch --save ,即可安装,为了兼容老版本的浏览器,还需要安装 npm install es6-promise --save fetch的用法 fetch(url,init). then ( function (response) { } ) 参数: url代表要获取的资源,可能值是一个url或者一个Request对象 init: 可选,是一个对象,参数有 method: 请求使用的方法get或者post headers: 请求头信息,是一个对象 headers: { "Content-Type" : "application/json" }, body: 请求的 body 信息:可能是一个 Blob、BufferSource、FormData、URLSearchParams 或者 USVString 对象。注意 GET 或 HEAD 方法的请求不能包含 body 信息。 mode: 请求的模式,如 cors、 no-cors 或者 same-origin,默认为no-cors,该模式允许来自 CDN

AJAX数据模拟之Mock.js

十年热恋 提交于 2019-11-29 08:46:28
参考文献 1.什么是Mock.js? Mock.js 是 拦截AJAX请求,并返回请求需要的数据 的工具。 2.为什么会有Mock.js? 在前后端分离的开发过程中,在后端接口没完成的情况下可以利用Mock.js提供的随机数据来进行测试。 3.Mock.js的使用? 3.1 安装mockjs npm install mockjs - -save-dev 3.2 新建mock文件夹 在根目录下新建mock文件夹: 3.3 实现模拟接口 在mock文件夹中新建mock.js文件,并输入下图所示代码 此代码表示:拦截/api/user 接口并随机返回一个包含20个字母的字符串。如若看不明白,请移步 Mock.js 查阅官方文档。 3.4 连接项目 在 src/index.js 文件中引入 mock.js import ‘../mock/mock’; 3.5 删除dist/api文件夹+ 去掉接口路径中的.json dist/api /*删除文件夹*/ - promise: client => client.get( /api/user.json ) + promise: client => client.get( /api/user ) /*去掉接口路径中的.json*/ 到此处基本实现模拟请求数据的功能,但还需要配置。因为只有在开发环境下,才引入mock,生产环境无需引入。配置方法如下

使用postman 实现mock测试

久未见 提交于 2019-11-29 08:33:40
mock测试,源自于英文单词fake,意为假的测试 实际工作中用于模拟那些无法实时连接的后端,或是没有开发出来的后端,用于获得结果反馈的一种测试方式。通过发送请求后,模拟后台返回的响应内容来确认当前系统的正确性。 下面通过postman工具来实现mock 要求:要注册后才可以实现 策略:使用mock-server配置私有环境变量并设置相应内容,获取mock-sever的接口密钥AIP-key并创建接口名称,将mock-server的url和接口密钥API-key一并添加在环境变量中,在当前集合中创建新请求,在example中设置预期响应结果,使用环境变量中的mock-sever的url,并将环境变量中的mock-server的接口名称和API-key放到请求头(header)里,发送请求,获得预期结果 1. 新建 mock sever 2. 输入 mock 的请求和响应设置,设置好点击 next 3. 设置 mock server ,输入 mock server 的名字,使用的环境,并且设置成私有 mock 服务,没有合适的环境可以选择 no environment ,点击 create 4. 点击 here 获取 mock 接口密钥,登陆浏览器设置,然后点击close 5. 点击获取接口密钥 6. 设置接口密钥名 7. 这里展示 mock 接口密钥名称和密钥编码,可以开启或关闭

android Mockito 升级2.0 发生 AbstractMethodError 异常

我是研究僧i 提交于 2019-11-29 06:42:40
android Mockito 升级2.0 发生 AbstractMethodError 异常 最近在研究android单元测试,没想到第一步进坑里了!!!在测试mvp之model的时候使用Mockito mock对象,在初始化一直发生AbstractMethodError异常.不说了先上异常环境. androidTestImplementation "org.mockito:mockito-core:2.25.0" androidTestImplementation 'com.google.dexmaker:dexmaker:1.2' androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2' 再上异常: java.lang.AbstractMethodError: abstract method "org.mockito.plugins.MockMaker$TypeMockability org.mockito.plugins.MockMaker.isTypeMockable(java.lang.Class)" at org.mockito.internal.util.MockUtil.typeMockabilityOf(MockUtil.java:29) at org.mockito

常见的API接口管理工具

雨燕双飞 提交于 2019-11-29 06:29:53
1、Postman Postman是被大家所熟知的网页调试Chrome插件,我们常常用它来进行临时的http请求调试。幸运的是,Postman可以将调试过的请求保存到Collection中。形成的Collection就可以作为一份简单有效且支持在线测试的接口文档,使用同一账号登录就可以做到分享和同步。对QA来说,使用Postman进行接口测试和接口文档维护是同一件事情,测试即文档,维护成本也很低。官网:https://www.getpostman.com 2、Swagger “Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。”简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案。Swagger主要包含了以下4个部分: 1. Swagger可以直接嵌入项目中,通过开发时编写注释,自动生成接口文档; 2. Swagger包含了Swagger Editor,它是使用yaml语言的Swagger API的编辑器,支持导出yaml和json格式的接口文件; 3. Swagger包含了Swagger UI,它将Swagger Editor编辑好的接口文档以html的形式展示出来; 4. Swagger支持根据定义的接口导出各种语言的服务端或客户端代码。 官网:https://swagger.io/ 3

首页导航+左侧菜单

别说谁变了你拦得住时间么 提交于 2019-11-29 02:38:11
1. Mock.js 前后端分离开发开发过程当中,经常会遇到以下几个尴尬的场景: 1. 老大,接口文档还没输出,我的好多活干不下去啊! 2. 后端小哥,接口写好了没,我要测试啊! 前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点 Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。 众所周知Mock.js因为两个重要的特性风靡前端: 数据类型丰富 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。 拦截Ajax请求 不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。 更多内容,可以云Mockjs官方查看 http://mockjs.com/ 注1:easy-mock,一个在线模拟后台的数据平台 2. Mock.js使用步骤 2.1 安装mockjs依赖 npm install mockjs -D   只在开发环境使用 2.2 引入 为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置 (1)dev.env module.exports = merge(prodEnv, {   NODE_ENV: '"development"',   MOCK: 'true' }) (2)prod.env

python mock知识01

不打扰是莪最后的温柔 提交于 2019-11-28 21:48:27
mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为。 下面是mock的实例: 第一步:找出需要mock的对象,此实例中为self.test.add 第二步:self.test.add = mock.Mock(return_value=3) import mockimport unittestclass Test(unittest.TestCase): def add(self, a, b): return a+bclass TestMock(unittest.TestCase): def setUp(self): self.test = Test() def tearDown(self): pass def test_add(self): self.test.add = mock.Mock(return_value=3) self.assertEqual(self.test.add(4,2),3)if __name__ == "__main__": test_suite = unittest.TestSuite() test_suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestMock)) with open("TestReportMock.txt", "a") as

PowerMock学习(五)之Verifying的使用

喜夏-厌秋 提交于 2019-11-28 17:55:19
前言 Verifying是一个非常强大的测试工具,在mock系列框架中使用广泛,主要用于验证方法是否被调用,下面将举例说明。 场景 模拟这样一个场景,通过Dao查询学生,如果存在更新原来学生,不存在则创建一个学生。 1、先来创建dao层的代码,具体示例代码如下: package com.rongrong.powermock.verifying; /** * @author rongrong * @version 1.0 * @date 2019/11/26 20:56 */ public class StudentVerifyDao { public int getStudentCount(Student student) { throw new UnsupportedOperationException(); } public void saveStudent(Student student) { throw new UnsupportedOperationException(); } public void updateStudent(Student student) { throw new UnsupportedOperationException(); } } 2、接着我们再来编写,service层的代码,具体示例代码如下: package com.rongrong

.net测试篇之Moq行为配置

假装没事ソ 提交于 2019-11-28 17:22:10
系列目录 我们前面说过.Moq在创建模拟对象的时候,简单对象赋值默认值,引用对象赋值为null,但是有些时候接口里面还包含另一个接口对象,我们知道Moq是可以模拟一个接口对象的,我们可以通过配置让Moq模拟所有可以Mock的对象. 我们新增如下代码 public interface IDtoWrapper { MyDto Dto { get; set; } string GetString(); } public interface IOutString { IDtoWrapper wrapper { get; set; } } 比如我们要模拟一个IOutString对象,如果不使用默认的行为则里面的wrapper对象返回为Null,如果这样我们没法再继续操作了. 我们可以对Moq的 Default 行为进行配置,让它对IDtoWrapper对象也进行Mock 测试代码如下 [Test] public void BehaviorConfig() { var moq = new Mock<IOutString>(); moq.DefaultValue = DefaultValue.Mock; Assert.NotNull(moq.Object.wrapper); } 以上测试会通过.这时候wrapper不再是null,我们便可以对其进行操作了.

Vue & Axios & Mock & Axios-Mock-Adapter:在Vue项目中模拟接口、请求以及数据

落花浮王杯 提交于 2019-11-28 15:30:12
0.首先需要会在vue项目中安装mockjs以及简单的mockjs语法 1.目录分为api和mock: 在api.js中封装代理函数 在mock/data/user.js中进行mock,这里模拟的是一组用户数据 在mock/mock.js中配置请求模拟调试器 两个不同的index.js都只是为了在main.js中引入时好看一点?(打扰了,我也不知道其他原因) 2. 先以 载入页面时获取模拟的用户数据 这个场景为例: api.js: import axios from 'axios'; let base = ''; export const getUserList = params => { return axios.get(`${base}/user/list`, { params: params }); }; (页面载入时会调用getUserList()方法) (base类似于axios.defaults.baseURL,即发起请求时的主端口,这里base是空字符) 在调用getUserList()方法时,会向 /user/list 这个url 发起GET请求,并传递params作为本次axios请求的配置 那么是如何使得向这个地址发起的GET请求得到想要的回应嘞?那就要看下面两个文件了 先来看数据模拟的格式:语法啥的就不说了 import Mock from 'mockjs';