近些日子写Junit测试比较多,接触Jmockit也有几个月了,但是都是间或用到,实际写的不是很多,而且也很模板化,没有太深入学习这个测试框架,今天感觉这个框架的API真的很丰富,功能很强大,因为暂时没有时间去深入挖掘,于是打算在这里先记录一些小的点,以备将来查用:)
1、Mocking protected Method in Superclass
package org.jdesktop.animation.timing.triggers;
import javax.swing.*;
import org.junit.*;
import mockit.*;
import static org.junit.Assert.*;
public final class ActionTriggerTest
{
@Test
public void testAddTrigger()
{
AbstractButton button = new JButton("Test");
ActionTrigger trigger = ActionTrigger.addTrigger(button, null);
assertSame(trigger, button.getActionListeners()[0]);
}
@Test(expected = IllegalArgumentException.class)
public void testAddTriggerFailsOnObjectWithoutAddActionListenerMethod()
{
ActionTrigger.addTrigger(new Object(), null);
}
@Test
public void testActionPerformed()
{
ActionTrigger actionTrigger = new ActionTrigger(null);
new Expectations()
{
Trigger trigger;
{
trigger.fire();
}
};
actionTrigger.actionPerformed(null);
}
}
基本上来说就是在Expectations块中声明一个父类变量,用该变量去调用要测试的方法即可。经实际测试可用。引自
code.google.com
2、 Mocking superclass protected variable using jmockit
@Test
public void testMockStaticVar() {
TestClass testclass = new TestClass();
Deencapsulation.setField(TestClass .class, "staticVar", 2);
//...
}
如此可把TestClass中的static变量staticVar设置成2,但是如果该变量有final修饰则不能进行这样的操作。
分享到:
相关推荐
可以用来Mock JAVA代码中的静态方法
夜曲平台文件这里提供了详细的文档说明,使用指南启动项目我们一般习惯在第一次获取项目后首先执行以下代码来获取项目相关依赖npm i在获取完毕依赖后,我们即可启动项目了: // start mockservernpm run mockServer/...
xiaoyaoji-mock-server 该工具旨在帮助您启动并使用xiaoyaoji模拟服务器。要求节点>=7.6.0. npm >=5.6.0入门在确认您的开发环境满足指定的,您可以按照以下步骤启动并运行项目: $ git clone $ cd xiaoyaoji-mock-...
2通过id查询商品信息2018年的服务器到期接口不能用了,只能用apifox 高级mock了 http://127.0.0.1:4523/m2/3370393-0-default/114359008?id=82 { "id": 37, "code": 40, "title": "每始声果半较收", "descmsg...
使用go模块(又名go mod ) 在您的go文件中,只需使用: import "github.com/jarcoal/httpmock" 然后,下一个go mod tidy或go test调用将自动使用最新的httpmock版本填充您的go.mod ,现在 。 请注意,您可以使用go ...
迷你模拟API 轻量级的node.js API模拟服务器,将调用路由到静态JSON文件 它有什么作用?... 返回cars.json中的所有汽车 GET localhost:8080/api/v1/cars/1 返回ID == 1的一辆车 GET localhost:8080/api
bilibili 微信小程序简化版 ...https://easy-mock.com/mock/5ccc2cc89e5cbc7d96b29785/bili/navList //获取首页轮播图数据 https://easy-mock.com/mock/5c1dfd98e8bfa547414a5278/bili/swiperList //获取视频列表 ...
info: { name: 'Mock API', description: 'Mock API for vue-typescript-admin-template.', version: '1.0.0'},paths: { get: [ '/mock-api/v1/articles', '/mock-api/v1/articles/:id', '/mock-api/
### 使用Mock对象在Java单元测试中的重要性及实践 #### 引言 在软件开发过程中,单元测试作为确保代码质量的重要环节,其有效性往往受到多种因素的影响,尤其是当待测方法依赖于外部资源如网络、数据库或其他复杂...
我们将上述内容保存为user.json,然后放在assets目录下的mockdata/account/目录中(这里的account是suite-name,后面会介绍); 接着,创建Client,增加以下配置: MockApiSuite suite = new MockApiSuite("account...
* 数据来源:[EasyMock](https://www.easy-mock.com/mock/5aded45053796b38dd26e970/sell#!method=get)-为测试提供模拟数据 * 整体框架: [mpvue](https://github.com/Meituan-Dianping/mpvue) * 地图:[腾讯地图api]...
为了解决这个问题,我们可以使用PHP Mock,这是一个专门用于模拟PHP内置函数的库,它允许开发者在测试环境中替换这些函数,从而实现更精确的测试隔离。 PHP Mock库的核心功能在于它能够创建函数的mock对象,这些...
配置方法: 在edp-webserver-config文件中添加如下代码 exports.port = 8848; var ms = require('mockservice'); ms.config({ // dir 相当于定义了mock的basedir 及require的baseUrl dir: __dirname + '/phoenix...
将接口url中的变量通过正则替换为固定值支持本地mock接口网页端查询修改支持网页端手动导入接口mock数据vue-cli3 中引入1. const localmock = require('webpack-localmock')2. vue-config.js中新增...
在Node.js环境中,Mock.js是一个非常实用的库,它允许开发者在开发过程中模拟API数据,从而避免了对真实API的依赖。本教程将详细介绍如何在Node.js服务器环境下使用Mock.js来拦截并处理AJAX请求。 首先,你需要通过...
MockServer 是一个强大的工具,主要用于在开发过程中模拟服务器行为,特别是在进行集成测试或者API开发时。它能够替代真实的后端服务,返回预先定义好的响应,帮助开发者专注于前端或客户端的开发,而不需要等待后端...
vase插件内置、、、、、、、、、、及用于解析自定义脚本的等渲染引擎,通过该插件,可以通过模板结合相应的引擎mock开发过程中需要的json、html、图片等数据,也可以通过来自定义脚本更加灵活的获取模板及数据,控制...
/template/:template_id/v/:version/:format /project/:project_id/public/:public_file_id /project/:project_id/size /bucket/:bucket/key/* /shutdown /status filestore sharelatex up返回filestore share...
PowerMock允许我们使用`@PrepareForTest`注解指定需要模拟的类,并通过`PowerMockito.mockStatic`或`Mockito.when`来模拟私有方法。 下面是一段使用PowerMock模拟静态方法和私有方法的示例代码: ```java import ...
你可以通过`mock`的输出来找到这些包,通常位于 `/var/lib/mock/result/` 目录下。 8. **清理Mock环境**:每次构建完成后,推荐清理Mock环境以释放资源。执行以下命令可以清除上次构建的残留: ``` mock -r /etc/...