`
ginge
  • 浏览: 208398 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jmockit 的使用示例-04静态部分mock示例

阅读更多
package jmockit.sample;

import jmockit.target.OfferPostAction;
import jmockit.target.WinportUrlServiceImpl;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;

import org.junit.Test;

/**
 * 静态部分mock示例,靜態Mock是通过注解@Mocked中的字段methods声明的。
 * 
 * @see
 * @author Ginge
 * 
 */
public class StaticPartialMockingTest {
	@Mocked(methods = { "[hH]asWinport" }, inverse = false)
	// 声明的方法可以使用正则表达式
	// methods 代表只有声明的方法才会进行mock, inverse
	// 代表是否反转声明,如果inverse=true,那么就是除了声明的方法不mock
	private WinportUrlServiceImpl winportUrlService = null;

	private OfferPostAction offerPostAction = new OfferPostAction();

	@Test
	public void testofferPostActionExecute() {
		final String memberId = "test2009";

		new Expectations() {
			{
				// 期望被mock的调用,以及被调用时返回的结果
				winportUrlService.hasWinport(memberId);
				result = false; // 也可以是returns(false);
				// 总共可以调用的次数
				times = 1;
			}
		};

		// 步骤二、replay 在此阶段,录制的方法可能会被调用
		Assert.assertEquals(false, offerPostAction.hasWinport(memberId));

		try {
			// static partial mock,根据上述@Mocked注解的声明,WinportUrlServiceImpl#
			// getWinportUrlmock将不会被mock
			offerPostAction.getWinportUrlThrowException(memberId);
			Assert.fail();
		} catch (Exception e) {

		}
	}
}

 

分享到:
评论

相关推荐

    Jmockit用法示例

    Jmockit用法示例,对各种函数(公有、私有、静态、final、无参数、带参数、接口)进行mock的方法

    C-Mock:C Mock是Google Mock的扩展,允许函数模拟

    C Mock-Google Mock扩展 概述 C Mock是的扩展,允许函数。 仅支持全局(非静态)函数模拟。 这既不是Google Mock的补丁,也不是它的分支。...C Mock不知道是否使用名称修饰声明了模拟函数-这是纯C函数还是C ++

    利用PowerMock模拟静态方法和私有方法的示例

    本示例程序利用PowerMock演示了如何对静态方法和私有方法进行单元测试(其它模拟单元测试技术无法实现)。

    MockNewsNStatics:使用Mockito静态和构造函数调用进行测试的其他方法

    模拟新闻NStatics 如何将Mockito与构造函数和静态函数一起使用的示例

    powermock:单体测试mock工具

    3.包括实例有普通Mock,Mock方法内部new出来的对象,Mock普通对象的final方法,Mock普通类的静态方法,Mock 私有方法 版本库地址 HTTPS协议: https://github.com/ichunming/powermock.git SSH协议: git@github....

    gs-mockito-static:使用PowerMockito进行SpringBoot的NewRelic单元测试

    编写了这个简单的示例测试用例,以找出在PowerMockito静态测试中为什么会出现随机错误的原因。 NewRelic.addCustomParameter(key,value);上的单元测试的示例代码; 运行测试几次。 src / test中的NewRelic单元...

    Grails权威指南

     3.2.4 除mvc之外的其他部分  3.3 grails支持多种环境  3.4 数据源配置  3.4.1 支持的数据库  3.4.2 配置自定义方言(dialect)  3.5 引导grails应用程序  3.6 配置日志(logging)  ...

    renren-fast-vue:人人开源前端代码

    数据切换,通过mock配置对接口数据/ mock模拟数据进行切换 发布时,可动态配置CDN静态资源/切换新旧版本 演示地址: (密码:admin / admin) 说明文档 项目开发,部署等说明都在中。 更新日志 每个版本的详细更改...

    json-fake-server:创建HTTP服务器(节点JS)https的简单方法

    用法使用路由,参数,静态内容构建简单的伪造服务器GET,POST,PUT,DELETE,支持的方法,状态,主体等安装npm install -SD test-fake-server || npm i -g test-fake-server例子基本用法示例 const fakeServer = ...

    next-isr-swr

    使用SWR的Next.js增量静态再生使用闪电般快速地生成静态页面,并通过立即更新 :high_voltage: :memo: :desktop_computer:供参考本演示使用存储在src/mock-db演示数据。 在此示例中,帖子的更改不会在刷新时保存,...

    transpec:RSpec语法转换器

    请查看以下文章,了解新的RSpec语法和RSpec 3中的更改:如果要在升级到RSpec 3的过程中使用Transpec,请阅读RSpec官方指南:例子这是一个示例规范: describe Account do subject ( :account ) { Account ....

    精通AngularJS part1

    Mock对象和异步代码测试68 端对端测试70 日常工作流71 Karmarunner的提示与技巧72 执行测试子集73 调试73 26小结74 第3章与后端服务器通信75 31使用$http进行XHR和JSONP请求75 熟悉数据模型和MongoLabURLs...

    apibox:模拟 RESTful API 的简单实用程序

    这个 ApiBox 的目的是从开发人员提供的静态数据中以最少的努力生成模拟 RESTful API。 这有助于团队继续开发,而不必等到后端团队提供所需的 API 端点,而无需对相应 API 的签名进行任何更改。 版本 0.1 依赖关系 ...

    react-boilerplate:带有测试,整理和捆绑的ReactJS样板代码

    它包含一个非常基本的电影租赁店的工作示例。 该代码是在节点v10.16.3中开发的。 在开发过程中,您将拥有一个express.js应用程序,该应用程序提供API(/ api)端点。 在生产中,您可以使用相同的API(处于生产模式...

    mocktify:模拟 API 服务器

    模拟 API 服务器Mocktify 是一个框架,可帮助您快速发布客户端应用程序所需的“Mock REST API”。 在开发客户端应用程序时,您有时需要组装一组客户端可以调用的模拟 REST 端点。 这些端点需要支持各种 HTTP VERBS,...

    ZendFramework中文文档

    14.1.3. 使用静态 get() 方法 14.2. 标准过滤器类 14.2.1. Alnum 14.2.2. Alpha 14.2.3. BaseName 14.2.4. Digits 14.2.5. Dir 14.2.6. HtmlEntities 14.2.7. Int 14.2.8. RealPath 14.2.9. StringToLower...

    Linux多线程服务端编程:使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

Global site tag (gtag.js) - Google Analytics