mock

jmockit中文网 expectations 入门

戏子无情 提交于 2019-12-09 18:04:32
通过上面的例子,我们已经了解了Expectations的作用主要是用于录制。即录制类/对象的调用,返回值是什么。 录制脚本规范 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 new Expectations() { // 这是一个Expectations匿名内部类 { // 这是这个内部类的初始化代码块,我们在这里写录制脚本,脚本的格式要遵循下面的约定 //方法调用(可是类的静态方法调用,也可以是对象的非静态方法调用) //result赋值要紧跟在方法调用后面 //...其它准备录制脚本的代码 //方法调用 //result赋值 } }; 还可以再写 new 一个Expectations,只要出现在重放阶段之前均有效。 new Expectations() { { //...录制脚本 } }; Expectations主要有两种使用方式。 通过引用外部类的Mock对象(@Injectabe,@Mocked,@Capturing)来录制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 //Expectations对外部类的mock对象进行录制 public class ExpectationsTest { @Mocked Calendar cal;

jmockit 中文网 springbean

大兔子大兔子 提交于 2019-12-09 17:59:45
如今,我们的很多应用程序是基于Spring的,通过Spring IOC容器来管理我们的Java对象。所以这里单独提出对Spring Bean如何Mock方法。 以上述提到 如何Mock类 中的提到的AnOrdinaryClass为例,先把这个类配置在Spring的配置文件中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <? xml version = "1.0" encoding = "utf-8" ?> <!--suppress ALL --> < beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:context = "http://www.springframework.org/schema/context" xmlns:aop = "http://www.springframework.org/schema/aop" xmlns:tx = "http://www.springframework.org/schema/tx" xmlns:p = "http://www.springframework.org/schema/p" xsi

页面、 ajax 、mock

南楼画角 提交于 2019-12-08 21:44:37
页面1: //html <form action = "" method="post" name="loginForm"> <p> <label for = "username">用户名:</label> <input type="text" name="username"> </p> <p> <label for = "password">密码:</label> <input type="text" name="password"> </p> <p> <input type="button" name="login" class=“loginBtn”> </p> </form> <script src="./mock.js"></script> <script src="./tools.js"></script> <script src="./server.js"></script> //js const loginBtn=document.querySelctor(".loginBtn") ;loginBtn.onclick=function(){ let username= document.loginForm.username.value; let possword= document.loginForm.possword.value; let user{username,

mock模拟get,post请求方式

♀尐吖头ヾ 提交于 2019-12-08 09:33:59
1.模拟get请求 //模拟get请求 Mock.mock('/api/getGoods','get',{ status:200, message:'获取列表成功', //随机生成5-8条数据 'data|5-8':[{ id:'@increment()', //生成自增的id //'id|+1':1, //也是模拟自增的id name:'@cword(3,5)', //生成3-5个汉字 price:'@natural(10,20)', //生成10-20之间的任意数字 count:'@natural(10,20)', img:'@dataImage(250x250)' ,//生成指定宽高的image图片,建议使用dataImage }] }) 2.模拟post请求 //模拟post请求,外层的Mock只负责拦截接口和方法的定义 Mock.mock('/api/addGoods','post',function(option){ //请求相关的参数 console.log(option) //模拟假数据需要重新写Mock return Mock.mock({ status:200, message:'@cword(4,9)' }) }) 3.模拟根据不同的id值获取对应的数据,接口可以放正则表达式 Mock.mock(/\/api\/getGoodsList/,'get'

Java-接口自动化测试-Mock模拟Get和POST请求

杀马特。学长 韩版系。学妹 提交于 2019-12-08 09:28:51
1:Mock简介 1.1:Mock可以做什么 Mock可以模拟一个http接口的后台响应,就这么简单,可以模拟request、response 1.2:如何获取Mock 下载Moco Runner standlone: Standalone Moco Runner 2:Mock模拟一个Get请求 2.1:Mock模拟一个不带参数的Get请求 2.1.1:创建json文件 Test.json [ { "description":"这是Mock接口的Demo", "request":{ "uri":"/GetDemo", "method":"get" }, "response":{ "text":"This is Get request" } } ] 2.1.2:运行moco-runner-0.11.0-standalone cmd中运行:java -jar ./moco-runner-0.11.0-standalone.jar http -p 8888 -c Test.json 2.1.3:浏览器访问这个地址 2.2:Mock模拟一个带参数的Get请求 1:Test.json [ { "description":"这是Mock接口的Demo", "request":{ "uri":"/GetDemo", "method":"get", "queries":{ "name":

使用API网关做mock

谁说我不能喝 提交于 2019-12-07 21:16:34
API网关的Mock功能介绍 Gateway 是一个基于HTTP的API网关,提供了基于HTTP的Mock功能,前端开发人员和后端开发协商好接口以后,各自开发功能,在后端没有开发完毕的时候,使用API网关的Mock功能,相比在js代码中去mock,代码干净整洁。 如何安装API-Gateway 安装教程 ,或者使用在线的服务: 管理后台 http://demo-admin.fagongzi.win 用户名和密码:admin/admin API 网关 demo-proxy.fagongzi.win 如何使用Mock功能 首先,你需要了解下 Gateway 的一些 概念 。 之后你可以在后台管理界面上,创建一个cluster,然后定义一个API,这个API的URL就是和后端协商好的接口,然后增加一个转发到cluster,并且设置Mock属性,mock属性是一个json配置: { "value": "{\"abc\":\"hello\"}", "contentType": "application/json; charset=utf-8", "headers": [ { "name": "header1", "value": "value1" } ], "cookies": [ "test-c=1", "test-c2=2" ] } value 接口的返回值,这里你可以填写mock的数据

设计模式-备忘录模式

北慕城南 提交于 2019-12-07 01:04:00
###模式定义: 在不破环封装行性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。 ###模式场景 录入大批人员资料的时候。正在录入当前人资料时,发现上一个人录错了,此时需要恢复到上一个人的资料,进行修改。 Word编辑时,忽然断电或电脑死机,再打开时,可以看到Word提示你恢复到以前的文档。 ###模式结构 Memento:备忘录。主要用来存储原发器对象的内部状态,但是具体需要存储哪些数据是由原发器对象来决定的。另外备忘录应该只能由原发器对象来访问它内部的数据,原发器外部的对象不应该能访问到备忘录对象的内部数据。 Originator:原发器。使用备忘录来保存某个时刻原发器自身的状态,也可以使用备忘录来恢复内部状态。 Caretaker:备忘录管理者,或者称为备忘录负责人。主要负责保存备忘录对象,但是不能对备忘录对象的内容进行操作或检查。 ###代码实现 ####UML图 ####源码 public interface FlowAMockMemento { } public class FlowAMock { private String flowName; private int tempResult; private String tempState; public FlowAMock(String flowName) {

PowerMock学习(十一)之Mock private methods的使用

不打扰是莪最后的温柔 提交于 2019-12-06 15:20:14
Mock private methods 就是mock私有方法啦,学到这不难发现,我们其实大部分都是通过反射去完成单元测试的,但是在实际中,某个类中的私有方法,个人不建议使用反射来测试,因为有时候会覆盖单元测试中的方法,那么下面我们就来举个例子,来使用mock来模拟私有方法的测试。 模拟场景 假设我们按照人名去查找一个学生是否存在 isExist() ,如果存在就返回true,否则false,同时调用这个类中的私有的查找方法返回学生个数,如果存在返回1,不存在返回0 业务逻辑部分代码比较简单,具体代码如下: package com.rongrong.powermock.mockprivate; /** * @author rongrong * @version 1.0 * @description: * @date 2019/12/5 21:48 */ public class StudentPrivateService { public boolean isExist(String userName) { int count = checkExist(userName); if (count > 0) { return true; } else { throw new NullPointerException(); } } private int checkExist

UmiJS 目录及约定

怎甘沉沦 提交于 2019-12-06 12:35:14
在文件和目录的组织上,umi 更倾向于选择约定的方式。 一个复杂应用的目录结构如下: . ├── dist/ // 默认的 build 输出目录 ├── mock/ // mock 文件所在目录,基于 express ├── config/ ├── config.js // umi 配置,同 .umirc.js,二选一 └── src/ // 源码目录,可选 ├── layouts/index.js // 全局布局 ├── pages/ // 页面目录,里面的文件即路由 ├── .umi/ // dev 临时目录,需添加到 .gitignore ├── .umi-production/ // build 临时目录,会自动删除 ├── document.ejs // HTML 模板 ├── 404.js // 404 页面 ├── page1.js // 页面 1,任意命名,导出 react 组件 ├── page1.test.js // 用例文件,umi test 会匹配所有 .test.js 和 .e2e.js 结尾的文件 └── page2.js // 页面 2,任意命名 ├── global.css // 约定的全局样式文件,自动引入,也可以用 global.less ├── global.js // 可以在这里加入 polyfill ├── app.js //

接口测试-mock

北城余情 提交于 2019-12-06 10:52:29
mock 1.mock是什么 两个系统联调,A完成B开发中,无需B开发完,也可以测试A系统,mock数据便是模拟B系统,快速联调 2.mock环境搭建 3.mock工作原理 来源: https://www.cnblogs.com/zhangshan33/p/11978910.html