mock

JMockit学习笔记

随声附和 提交于 2019-11-27 14:50:57
一、在eclipse下建立JMockit工程 1、下载最新版JMockit(jmockit-1.4.zip); 2、解压后的文件夹包含有:library jars, source files, samples, API javadocs, and additional documentation; 3、将jmockit.jar添加到项目classpath中; 特别的: 1)确保classpath中Jar包的顺序:jmockit的jar包必须在junit之前(通过Order and Export" 标签上下移动); 2)eclipse项目所用JRE来自于JDK,而不是“简洁”版的JRE,因为后者缺少本地类库“attach”。 二、行为和状态的测试 基于行为(Behavior-based)的mock是站在目标测试代码外面的角度的,通常主要模拟行为,而基于状态 (State-based)的是站在目标测试代码内部的。我们可以对传入的参数进行检查、匹配,才返回某些结果。 Mockup用于State-based测试。 二、声明和使用mock类型 1、字段,期望块的字段与期望块内的局部属性字段使用@Mocked来声明Mock类型。 2、参数,方法的参数声明来引入一个Mock类型。 第一种情况,属性字段是属于测试类或者一个mockit.Expectations子类

Vue Axios 跨域 未携带cookie

余生长醉 提交于 2019-11-27 12:50:38
通常的解决办法 【前端】在axios请求的参数中,写入对象属性 withCredentials:true (也可以全局配置 Axios.defaults.withCredentials = true ) 【后端】响应头消息中的 Access-Control-Allow-Origin 不能设置为 ’ * ’ 号,需改成具体的地址。 【后端】响应头消息中必须设置 Access-Control-Allow-Credentials:true 。 遇到的问题 正常来说,以上三步即可解决问题,可实际项目中发出请求的header始终没有cookie。 最终发现是前端框架引入了mock的问题: 只要你调用Mock.js的mock方法,他就会劫持window的XMLHttpRequest对象,用一个自己的XHR替换,那里面withCredentials是false的,所以你带不上cookie。 解决办法 main.js 中删除 import '@/mock' 参考 github issue 来源: https://blog.csdn.net/silentic/article/details/99676473

webpack配置代理服务proxy

白昼怎懂夜的黑 提交于 2019-11-27 12:42:09
背景 在使用webpack搭建一个项目的时候,本地开发mock接口数据是不可避免的, mock的方式有多种,比如mock.js、webpack的proxy代理。 本文主要是使用proxy而且代理的是本地的数据。 开始 我们都知道webpack在开发环境有devServer的配置 const proxy = { '/test/*': { target: 'http://yapi.afpai.com/mock/768', // 源地址 changeOrigin: true, // 改变源 ws: true, pathRewrite: { '^/api': '' } }, // 起一个本地服务且有study目录 '/study/*': { target: 'http://localhost:70', changeOrigin: true, // 改变源 } }; devServer: { contentBase: './src', hot: true, proxy: proxy }, 注意target的值需要加上协议(被坑过) 一般公司会有接口文档平台,在上面可以mock接口数据,但是假如我们自己玩呢,同理我们可不可以代理本地的数据呢。 答案当然可以,我们只需要起一个本地服务(这里我用的是apache),确保指定目录下有接口路径对应的文件就好了。这里我的是.php文件。 缀述

mock

最后都变了- 提交于 2019-11-27 09:44:11
在我们的开发过程中,有前端、后端配合,如果后端的功能没有完成开发,那前端是不是就不能开发了呢? 答案肯定不是的,我们首先想到的就是造假数据。 所以,目前蛮流行的mock就是造假了,只需定义好接口url、数据结构即可,就不需要前端等待后端了。而且它还能模拟各种服务器错误场景等进行开发调试。 想想你在测试环境要测试,但是有些需要真实的信息数据,怎么办?mock吧 不多说了,网上有很多现成的教程,哈哈,自己找吧。 附上一个简单使用的链接教程吧 https://www.jianshu.com/p/63056120fab8 来源: https://www.cnblogs.com/two-bees/p/11356812.html

Mock Server的搭建

对着背影说爱祢 提交于 2019-11-27 09:39:20
一、概述   我们系统与第三方开票系统有交互,场景是我们系统请求第三方开票系统,第三方开票系统根据我们的请求数据,生成开票信息然后返回发票号或异常信息,我们根据返回的信息做对应的处理。因为配合上存在一些障碍,因此想要搭建个mock server,先验证己方系统的正确性。 什么是Mock Server ?   顾名思义,mock:模拟,mock server:实现 mock 功能的一个服务。 Mock Server的作用?   下图很好的解释了Mock Server 位置和作用(图来自虫师的博客): 二、python+flask搭建mock server flask:flask是一款十分轻量级的python Web应用框架,也被认为是一种微框架,使用方便,配置简单,也可以进行扩展,也可以用于搭建简单的平台。 准备工作: python安装 flask安装:pip install flask 准备代码: hello world:新建mockserver.py,文件中代码如下 1 #coding:utf-8 2 from flask import Flask 3 app = Flask(__name__) 4 5 #定义路由 6 @app.route('/api/test') 7 def get_xml(): 8 return 'hello world' 9 10 if __name__

mockjs的基本使用入门

烂漫一生 提交于 2019-11-27 07:55:54
相信很多前端同学都有一个困扰,就是没有后端数据的情况下感觉很多想法都不能动手去实现,这里介绍一个模拟后端数据的工具,可以一定程度上解决我们的困扰。 很多人或多或少的都听说过mockjs,都知道是一个模拟后端接口的工具,但是去看官网的时候上边各种安装,各种模块化,对于初学者很不友好,结果就这么放弃了。 下边的例子直接复制粘贴然后打开页面控制台就能看到效果,结合代码就能知道大概mockjs是做了什么事了 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Document</title> </head> <body> <script src="http://cdn.bootcss.com/Mock.js/1.0.0/mock-min.js"></script> <script src="http://cdn.bootcss.com/zepto/1.2.0/zepto.min.js"></script> <script type="text

vue 首页导航+左侧菜单

非 Y 不嫁゛ 提交于 2019-11-27 02:29:22
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 module

MOCK服务小结

南笙酒味 提交于 2019-11-27 02:02:57
前言: 说到mock,大家会想到单测中的mock,测试同学会想到httpmock服务等。 mock的作用:程序运行过程中,设定过滤规则及返回值,来满足固定的数据解析,解决不容易构造或者获取的数据对象。 mock有哪些工具: 前端js端拦截mock.js web端的mock工具apiary、swagger、alibaba-rap等 Java阵营中主要的Mock测试工具有JMock,MockCreator,Mockrunner,EasyMock,MockMaker等,在微软的.Net阵营中主要是Nmock,.NetMock WEB应用MOCK: web端的mock相对成熟,以http请求拦截为主,进行请求的数据的返回,从上面可以看到有2种方式本地拦截和proxy拦截 单一方式缺点: 1、本地拦截,无法模拟请求时延等特殊场景,本地数据维护复杂 2、proxy拦截,所有测试case环境需要做host处理,域名切换问题 组合方式优势: 1、使用者不需要host指定 2、可以模拟复杂场景(数据返回,时延,超时等) 3、模拟数据入口统一复用性高 组合的方式缺点: 1、controll层返回页面时,mock页面,业务改动即需变更,无法验证到真正生成页面逻辑,这种mock对测试没有价值 2、返回数据格式多样时,mock多种数据格式,服务接口复杂,使用成本较高,不利于业务快速迭代

SPA项目首页导航+左侧菜单

血红的双手。 提交于 2019-11-27 01:02:58
Mock.js是个啥 前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点 Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。 Mockjs官方( http://mockjs.com/ ) Mock.js使用步骤 安装mockjs依赖 npm install mockjs -D 下载成功之后package.json中会出现: "mockjs": "^1.0.1-beta3", 引入   为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,可以在env中做一个配置 开发环境 dev.env.js 'use strict' const merge = require('webpack-merge') const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', MOCK: 'true' }) 生产环境 prod.env.js 'use strict' module.exports = { NODE_ENV: '"production"', MOCK: 'false' } main.js //开发环境下才会引入mockjs

SPA项目开发之首页导航和左侧菜单栏

早过忘川 提交于 2019-11-26 23:43:53
1. Mock.js 前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点 Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。 众所周知Mock.js因为两个重要的特性风靡前端: 数据类型丰富 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。 拦截Ajax请求 不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。 更多内容,可以云Mockjs官方查看“ http://mockjs.com/” 2. Mock.js 使用步骤 2.1 安装mockjs依赖 npm install mockjs -D #只在开发环境使用 2.2 引入 为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置 (1)dev.env 'use strict' const merge = require('webpack-merge') const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', MOCK: 'true' })   (2)prod.env    'use strict'