目标测试代码
package jmockit.target;
public class Constructor {
private String memberId;
public Constructor(String memberId) {
this.memberId = memberId;
}
public String getRealName() {
return "real_" + this.memberId;
}
}
Mock代码
package jmockit.sample;
import jmockit.target.Constructor;
import junit.framework.Assert;
import mockit.Mock;
import mockit.Mocked;
import mockit.Mockit;
import org.junit.Test;
/**
* 除了使用@MockUp的另外一种基于状态的mock测试的方式。
*
* @author Ginge
*
*/
public class ConstructorTest2 {
@Mocked
private Constructor constructor = null;
@Test
public void mockConstructor() {
// 可以在任意时候把Mock装置起来,不用的时候可以脱下来
Mockit.setUpMock(Constructor.class, new MockedConstructor());
// 触发构造方法的mock
new Constructor("Constructor");
Assert.assertEquals("mock_Constructor", constructor.getRealName());
// 注意咯,擦亮眼睛了,现在开始脱了
Mockit.tearDownMocks(Constructor.class);
constructor = new Constructor("Constructor");
// 看到了吧,看到真容了
Assert.assertEquals("real_Constructor", constructor.getRealName());
}
/**
* MockedConstructor相当于一个标志,具体名称不重要,重要的要它里面被@Mock注解的方法。如果有方法被注解了@Mock,
* 并且恰好方法的签名又和Mockit.setUpMock中声明的类型中的某个方法一样,那么对应的方法就被Mock
* 为了方便才把这个类的声明放到ConstructorTest2里面的,其实这个类可以放到任何地方
*
* @author Ginge
*
*/
public static class MockedConstructor {
private String memberId;
@Mock
public void $init(String memberId) {
this.memberId = "mock_" + memberId;
}
@Mock
public String getRealName() {
return this.memberId;
}
}
}
分享到:
相关推荐
用户行为日志生成脚本
开源项目-Code-Hex-funcy-mock.zip,funcy-mock generates mock file from interface go file
node-mock-server, 基于文件的node REST API 模拟服务器 node-mock-server基于文件的node REST API 模拟服务器 正在启动这里应用程序需要 node 6 或者更高版本。 对于 node ,请使用 node-mock-serv
可以用来Mock JAVA代码中的静态方法
Jmockit用法示例,对各种函数(公有、私有、静态、final、无参数、带参数、接口)进行mock的方法
React-native-mock-render 一个分叉,用于渲染组件 要求 Node.js 4+ 最新版本的react-native 安装 npm i react-native-mock-render --save-dev /* file-that-runs-before-all-of-my-tests.js */ // This will ...
mock-api 原理 基于 OkHttp 的 Interceptor :如果目标url需要mock,则从本地(assets或sdcard)读取数据,否则继续向外发送请求。 使用 首先,在 build.gradle 中添加以下依赖: compile '...
使用 1. 添加依赖 mvn clean package install (deploy) -Dmaven.test.skip=true 编译安装依赖到本地/远程仓库 <groupId>com.cmt</groupId> <artifactId>dubbo-easy-mock <version>1.1.0 <groupId>org....
一个简单好用的api-mock工具,模拟后台返回报文,方便前端开发!可注册接口。
单元测试 mock jmockit包 JMockit 是一个轻量级的mock框架是用以帮助开发人员编写测试程序的一组工具和API
jmockit-1.7.jar JMockit最新工具包
C Mock-Google Mock扩展 概述 C Mock是的扩展,允许函数。 仅支持全局(非静态)函数模拟。 这既不是Google Mock的补丁,也不是它的分支。 这只是一组标题,提供了一种在测试中将工具用于具有模拟功能的模拟方法的...
"mock": "nodemon --watch mock --exec json-server mock/index.js --port 3020 --m mock/post-to-get.js", } :beaming_face_with_smiling_eyes: 所有命令 # install dependencies npm install # serve with hot ...
mockjs在线使用安装(纱线或npm) 节点版本: > = 12.0.0 版本号: > = 2.0.0 yarn add mockjs# ornpm i mockjs -Syarn add vite-plugin-mock -D# ornpm i vite-plugin-mock -D例子运行示例 # ts examplecd ./...
Mock 前端虚拟服务 - xe-ajax插件 基于 XEAjax 扩展的前端虚拟服务插件,对于前后端分离开发模式,使用 ajax+mock 就非常有必要。
mock-service-demo实现一个本地mock服务器, 本地请求指向mock服务器(如配置axios.defaults.baseURL为mock服务器地址), 如果path匹配成功且该path开启了mock配置项则返回mock数据, 否则对请求进行转发(可根据配置转发...
Mock是一个零侵入的服务端Mock平台,底层基于JVM Sandbox。相比于Fiddler、-mock-fe
vue-cli-plugin-mock 用于本地模拟数据功能的软件包 简单的写作(Express.js风格) 观看文件更改 自动重装模拟服务器 支持esm / cjs样式模块 安装 yarn add vue-cli-plugin-mock 用vue-cli3安装 vue add vue-cli-...
开源社区有许多优秀的Java单元测试框架,JMockit是其中之一。正如其名,在单元测试时,CUT(Code Under Test ,被测试代码)可能会依赖其他代码,可以使用JMockit API来mock被依赖的代码,从而进行隔离测试。 ...