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

jmockit 的使用示例-02完整的Mock步骤

 
阅读更多
package jmockit.sample;

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

import org.junit.Test;
/**
 * 一个完整的Mock会有三个步骤,步骤一、record (录制);步骤二、replay 在此阶段,录制的方法可能会被调用;步骤三、验证。如果是Expectations就没有必要做Verifications了。
 * @author Ginge
 *
 */
public class RecordReplayVerificationTest {

	@Mocked
	private WinportUrlServiceImpl winportUrlService = null;

	private OfferPostAction offerPostAction = new OfferPostAction();

	@Test
	public void testofferPostActionExecute() {
		final String memberId = "test2009";
		// 步骤一、record (录制)
		new NonStrictExpectations() {
			{
				// 期望被mock的调用,以及被调用时返回的结果
				winportUrlService.hasWinport(memberId);
				result = false; // 也可以是returns(false);
				// 总共可以调用的次数
				times = 1;
			}
		};

		// 步骤二、replay 在此阶段,录制的方法可能会被调用
		Assert.assertEquals(false, offerPostAction.hasWinport(memberId));
		
		try{
			offerPostAction.getWinportUrlThrowException(memberId);
		}catch(Exception e){
			//fully mock,默认完全被mock,到这里就注定失败
			Assert.fail();
		}
		
		

		// 步骤三、验证步骤二中,mock方法是否被调用,本步骤可以省略
		new Verifications() {
			{
				winportUrlService.hasWinport(withAny(""));
				times = 1;
			}
		};
	}
}

 

分享到:
评论

相关推荐

    swagger-to-mock:Swagger3(OpenAPI 3)的模拟数据生成器CLI

    如果您指定了示例,则JSON数据值应该是您的招摇中的示例值。 否则, swagger-to-mock遵循并生成任意值。 如果没有诸如format规则,则值应在下面。 string : " " number : 0 integer : 0 boolean : true array : []...

    2020-11-15 JMockit中文网在github上的示例代码|jmockit_cn.zip

    下面将详细探讨JMockit的相关知识点以及如何使用这些示例代码。 1. **什么是JMockit?** JMockit是一个开源的Java库,用于进行模拟和测试驱动开发(TDD)。它支持JUnit、TestNG和其他测试框架,提供了一种简洁的方式...

    Tiny4412 Android硬件开发指南 (含示例源代码)

    2.1 如何使用函数库(LIBFRIENDLYARM-HARDWARE.SO)? - 20 - 2.2 函数库(LIBFRIENDLYARM-HARDWARE.SO)接口说明 - 22 - 2.2.1 通用的输入输出接口 - 22 - 2.2.2 串口通讯的接口说明 - 23 - 2.2.3 开关LED的接口说明 - ...

    Dalsa 图像处理库Sapera使用文档--初级开发步骤

    本文档旨在为初学者提供快速了解Sapera图像处理库的开发步骤,介绍了Sapera的基本概念、类图 serta各种常用类的使用方法,并提供了详细的开发步骤和示例代码。 一、Sapera++介绍 Sapera++是Sapera LT为用户提供的...

    vue3,vite项目最基础示例,vue-router+naive-ui+mock.js

    最基本的vue项目框架结构,vite创建的vue3项目,安装naive-ui,vue-router,最精简demo,只安装可用没有任何封装,安装mock.js,一个个人博客设计纯前端刚开始

    Jmockit用法示例

    在`JmockitDemo`项目中,你将找到一个完整的示例,展示了如何将以上所有方法应用于实际的测试场景。这个项目包括了对不同类型的模拟方法的测试用例,有助于理解Jmockit的工作原理和使用方式。 通过熟练掌握Jmockit...

    Object-CMock objects for Objective-C在Objective-C中使用Mock对象的实践

    本项目将介绍如何使用Objective-C的测试框架和第三方库来创建和使用Mock对象,并提供一些示例代码。 **适用人群:** - Objective-C开发者,特别是那些进行单元测试的开发者。 - 对软件测试和单元测试有一定了解,但...

    jmockit-1.6.rar

    3. **示例**:可能提供一些示例项目或测试用例,演示如何使用JMockit进行单元测试。 4. **许可证文件**:关于软件授权的信息,规定了使用和分发JMockit的条款。 为了使用JMockit,你需要将"jmockit-1.6.jar"添加到...

    protractor-xmlhttprequest-mock:Ajax 为量角器调用模拟插件

    量角器-xmlhttprequest-mock Ajax 为量角器调用模拟插件,也适用于 angular 2。 一个简单的用法示例: import { browser , $ } from 'protractor' ; import { MockService } from 'protractor-xmlhttprequest-...

    项目实用makefile示例--project-test

    大中型的实用项目中,多人协作开发,除了分层次目录存放源码,还要考虑源码权限,自动化的...本资源是一个项目目录树和makefile树的简单示例。具体说明参考:http://blog.csdn.net/zhouyulu/article/details/8449263

    Spring boot 示例 官方 Demo

    spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 ...spring-boot-admin-simple:Spring Boot Admin 的使用示例

    protocol-builder-mock:使用协议生成器模拟接口

    sartography / protocol-builder-mock UVA IRB协议生成器模拟 要求 的Python 3 点(适用于python 3) pipenv(只需运行pip install pipenv) 数据库设置 CR Connect项目的数据库也将为协议构建器创建一个空数据库...

    mocka简单优雅的内容占位符

    下载后,你可以查看源码了解Mocka的工作原理,参考示例项目学习如何在自己的项目中使用Mocka,通过阅读文档获取更多使用技巧和配置选项。 总的来说,Mocka是JavaScript和CSS开发中的一个实用工具,它使得在开发过程...

    jmockit使用例子

    这个“jmockit使用例子”很可能会涵盖如何利用JMockit进行测试的基本步骤,以及如何改变静态方法的模拟实现。 在Java开发中,单元测试是确保代码质量的重要环节。然而,当涉及到依赖于外部系统、静态方法或不可控...

    laravel-guzzle-conditional-mock-handler:提供一种方法,可使用Guzzle而不是Laravel中的固定队列有条件地加载模拟响应

    composer require-dev webwhales/laravel-guzzle-conditional-mock-handler 简单的例子 要使用条件模拟处理程序,您必须在测试中使用TestWithGuzzleMockHandler特性。 此外,Guzzle客户端必须通过Laravel容器或...

    使用MATLAB实现傅里叶变换的步骤和示例代码

    如何实现傅里叶变换算法,使用MATLAB实现傅里叶变换的步骤和示例代码; 如何实现傅里叶变换算法,使用MATLAB实现傅里叶变换的步骤和示例代码; 如何实现傅里叶变换算法,使用MATLAB实现傅里叶变换的步骤和示例代码;...

    vscode-mock-debug, 为VSCode开发调试适配器的入门示例.zip

    vscode-mock-debug, 为VSCode开发调试适配器的入门示例 vs-代码模拟调试这是开发 vs 代码调试适配器的入门示例。模拟调试调试器为 Visual Studio 代码模拟调试适配器。 它支持步骤,继续,断点,异常,异常 access,...

    Go-GoMock是Go编程语言的一个模拟框架

    - 这个文件名可能是一个Git仓库的某个版本,包含GoMock相关的源码或示例,可以帮助开发者深入理解GoMock的实现和用法。 总的来说,GoMock是Go语言中不可或缺的测试工具,它帮助开发者编写更健壮、可维护的代码,...

    JMockit教程.zip

    9. **示例和最佳实践**:教程中应包含丰富的示例代码,通过实际案例帮助理解如何有效地使用JMockit进行测试。同时,也会给出一些最佳实践,指导如何编写可读性好、可维护性强的测试代码。 通过深入学习JMockit教程....

    3-Mock-Servlet.rar

    【描述】提到这是个人作品,这可能意味着该压缩包中包含了一位开发者自创的Mock Servlet实现或者一个示例项目,用于展示如何使用Mock Servlet进行应用的测试。由于描述信息较简洁,我们只能推测这是一个专注于测试的...

Global site tag (gtag.js) - Google Analytics