`
ginge
  • 浏览: 211835 次
  • 性别: 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) {

		}
	}
}

 

分享到:
评论

相关推荐

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

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

    Jmockit用法示例

    在本文中,我们将深入探讨Jmockit的用法,包括如何模拟不同类型的函数,如公有、私有、静态、final以及接口方法。 ### 1. 模拟公有方法 在单元测试中,我们经常需要隔离被测试代码,以便专注于单个方法的行为。...

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

    下面是一段使用PowerMock模拟静态方法和私有方法的示例代码: ```java import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.core.classloader.annotations.PrepareForTest; import org....

    graphql-vercel-mock-server:这是使用nodejs的GraphQL模拟服务器的示例

    本文将深入探讨“graphql-vercel-mock-server”项目,这是一个使用Node.js搭建的GraphQL模拟服务器的示例,非常适合开发人员在实际开发过程中进行测试、学习和演示。 首先,GraphQL的核心理念是提供一种声明式的...

    使用PowerMock来Mock静态函数

    3. 创建Mock:在测试方法中,使用`PowerMockito.mockStatic(Class)`来模拟整个静态类,或者使用`PowerMockito.when(Class.method()).thenReturn(value)`来指定静态方法在特定条件下的返回值。 4. 执行测试:进行正常...

    前端开源库-lws-mock-response

    2. **动态响应配置**:除了静态响应,lws-mock-response 还支持根据请求参数、URL路径等动态生成响应。这使得模拟更加灵活,能够适应各种测试场景。 3. **可扩展性**:作为一个中间件,lws-mock-response 可以与...

    mockserver1.zip

    - 这个文件可能是MockServer的配置文件或者Java项目的源代码,用于示例或演示如何设置和使用MockServer。你需要解压并检查文件内容,以了解具体用法。 总的来说,"mockserver1.zip"是一个包含MockServer配置和可能...

    JMockit学习分享

    本文将深入探讨JMockit这一强大的mock框架,它不仅支持模拟私有成员、静态方法,还能自动化地完成mock对象的创建与注入等工作。通过一系列具体示例和概念解析,帮助读者全面掌握JMockit的核心功能及其实现细节。 ##...

    mockServer,mock服务端

    当匹配到预设的请求模式时,MockServer会返回预设的响应,这可以是静态的数据、动态生成的数据或者基于某种逻辑的响应。 在"mock3"这个压缩包中,我们可以推测它可能包含MockServer的第三版相关资源,如配置文件、...

    mock-server

    MockServer的文档详尽且易懂,提供了丰富的示例,可以帮助你快速上手。同时,社区活跃,遇到问题时可以寻求其他用户的帮助。总之,MockServer 是一款强大而灵活的工具,对于提升软件开发效率和质量有着显著的效果。

    Mock搭建资源

    在压缩包"Mock"中,可能包含了用于创建和管理Mock API的工具、示例配置文件、以及可能的测试用例。这些资源可以帮助开发者快速上手Mock环境的搭建,理解如何自定义API,并进行有效的前端开发。 为了更深入地利用...

    mock学习交流

    除了Mockito,Java社区还提供了其他mock工具,例如PowerMock,它扩展了Mockito的功能,允许我们模拟静态方法、构造函数、final类和方法,甚至私有方法,这些在标准Mockito中通常是不允许的。 在实际项目中,mock...

    react-native-init:React Native初始模板:登录示例-Redux-Sagas-测试-路由器-Axios-不可变-配置-Reduxsauce-矢量图标-元素

    模板包含测试基础设施,可能是使用Jest(一个流行的JavaScript测试框架)和模拟库(如`jest-mock`或`jest-environment-jsdom`)。这使得开发人员能够编写单元测试和集成测试,确保代码的质量和稳定性。 5. **...

    iview.test测试demo包含拖拽排序 mock测试 iview模板

    5. **Mock.js的使用**:学习如何定义Mock规则,创建模拟API,以及在项目中集成Mock.js。 6. **Draggable插件或原生JS实现拖拽排序**:理解拖拽排序的实现原理,可能使用Vue.Draggable或者其他库,或者直接使用Vue的...

    mock server

    - `examples/`:示例,演示Mock Server的常见用法。 - `bin/`:可执行文件或脚本,用于启动和管理Mock Server。 - `README.md`:项目简介和使用指南。 - `.gitignore`:定义了版本控制系统忽略的文件和目录。 通过...

    基于Java探针的Mock框架.zip

    在Java世界中,Mock框架则是单元测试的重要组成部分,它们帮助开发者模拟复杂的系统交互,以便在隔离环境中测试代码。"基于Java探针的Mock框架"可能是指一种结合了这两种技术的工具,它可能是为了提供更高级别的测试...

    Go-Go项目的Makefile示例

    6. 静态检查:应用静态代码分析工具,如`golint`、`staticcheck`等,确保代码质量。 7. 打包和发布:生成跨平台的可执行文件,或者打包为`tar.gz`或`zip`等格式。 一个基本的Go项目`Makefile`可能包含以下目标...

    gmock相关资料和笔记

    - "Google Mock Cookbook":提供了许多实用的示例和最佳实践。 - "Modern C++ Testing with Google Test and Google Mock":一本关于gmock和gtest的书籍,深入介绍了测试技巧和策略。 通过理解并熟练使用gmock,...

    VueCli3.0中集成MockApi的方法示例

    3. 后端Controller的静态JSON:优点是联调无需改动,缺点是修改Mock内容需与后端沟通。 4. FastMock模拟动态Restful API:优点是内容可控且支持动态接口,缺点是可能需要针对接口转发做特殊处理。 四、本地Mock接口...

Global site tag (gtag.js) - Google Analytics