目标测试代码
package jmockit.target;
/**
* 示例一个公共方法内部调用了一个私有方法;示例私有成员变量的设值。
*
* @author Ginge
*
*/
public class InstanceInternalAccess {
private int memberCounts;
private int getMemberCounts() {
return this.memberCounts;
}
/**
* 把传入的count和内部定义的私有int类型的memberCounts的值相加,返回相加的结果。
*
* @param count
* @return
*/
public int sumInternalCounts(int count) {
int myCount = this.getMemberCounts();
return myCount + count;
}
}
mock代码
package jmockit.sample;
import jmockit.target.InstanceInternalAccess;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;
import org.junit.Test;
/**
* 有时我们需要在测试mock对象前对某些成员变量进行初始化的设值,但是这些成员变量往往是私有的,有时某些方法的调用中会间接调用私有方法。
* 如何对这些私有变量或者私有方法进行mock呢?以下示例将示范这些用法。
*
* @author Ginge
*
*/
public class PrivateAccessTest {
private @Mocked
InstanceInternalAccess instanceInternalAccess = null;
@Test
/*
* 对mock类型的私有成员变量进行设值的示例
*/
public void privateAccessField() {
// 注意:这里使用了动态部分mock
new Expectations(instanceInternalAccess) {
{
// 对私有int类型的memberCounts进行设值
this.setField(instanceInternalAccess, "memberCounts", 2);
}
};
Assert.assertEquals(5, instanceInternalAccess.sumInternalCounts(3));
}
@Test
/*
* 对mock类型的私有成员方法进行mock的示例
*/
public void privateAccessMethod() {
// 注意:这里使用了动态部分mock
new Expectations(instanceInternalAccess) {
{
// 对私有方法进行mock
this.invoke(instanceInternalAccess, "getMemberCounts");
result = 2;
}
};
Assert.assertEquals(5, instanceInternalAccess.sumInternalCounts(3));
}
}
分享到:
相关推荐
struts-junit spring-mock spring-test junit等的javadoc.jar格式的API文档,直接导入Eclipse/MyEclipse/Netbeans等IDE即可实现快速API查询。 包含以下文件: File name -------------------------------------- ...
开源项目-goware-httpmock.zip,httpmock - a simple way to mock 3rd party services in your tests
返回随机mock数据监听mock文件变更, 自动重启服务使用# install dependenciesnpm install# serve with hot reload at localhost:8080npm run dev# start mock-servicenpm run mock项目目录|---- mock // mock文件夹...
vue-cli-plugin-mock 用于本地模拟数据功能的软件包 简单的写作(Express.js风格) 观看文件更改 自动重装模拟服务器 支持esm / cjs样式模块 安装 yarn add vue-cli-plugin-mock 用vue-cli3安装 vue add vue-cli-...
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 ./...
Jmockit用法示例,对各种函数(公有、私有、静态、final、无参数、带参数、接口)进行mock的方法
单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络请求单元测试高级特性--mock模拟网络...
开源项目-Code-Hex-funcy-mock.zip,funcy-mock generates mock file from interface go file
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 ...
Laravel开发-laravel-redis-mock 这个Laravel包为您的测试提供了一个redis模拟
Mock 前端虚拟服务 - xe-ajax插件 基于 XEAjax 扩展的前端虚拟服务插件,对于前后端分离开发模式,使用 ajax+mock 就非常有必要。
可以用来Mock JAVA代码中的静态方法
C Mock-Google Mock扩展 概述 C Mock是的扩展,允许函数。 仅支持全局(非静态)函数模拟。 这既不是Google Mock的补丁,也不是它的分支。 这只是一组标题,提供了一种在测试中将工具用于具有模拟功能的模拟方法的...
使用 1. 添加依赖 mvn clean package install (deploy) -Dmaven.test.skip=true 编译安装依赖到本地/远程仓库 <groupId>com.cmt</groupId> <artifactId>dubbo-easy-mock <version>1.1.0 <groupId>org....
easy to mock data by http server(简单的数据mock服务器)
本示例程序利用PowerMock演示了如何对静态方法和私有方法进行单元测试(其它模拟单元测试技术无法实现)。
用户行为日志生成脚本
React本机获取模拟 拿出react-native的模拟 为什么选择FetchMock? 没有fetch模拟可以轻松地用于react-native。 因此,我自己创建一个。... const all = Mock.mock({ 'list|2': [{ 'id|+1': 1,
webpack-mock-middleware 在webpack开发模式,该中间件配合devServer.before提供了一种快速本地mock数据的方案。 mock目录下为数据js,与接口地址相对应,如axios.get('/api/user') -> mock目录下api/user.js 用法 #...
对于更多的浏览器环境,您可以使用来实现实际的浏览器运行时。安装这仅应作为开发依赖项( devDependencies )安装,因为它仅用于测试。 npm i --save-dev jest-canvas-mock设置在jest下的package.json ,创建一个...