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;
}
};
}
}
分享到:
相关推荐
vue-cli-plugin-mock 用于本地模拟数据功能的软件包 简单的写作(Express.js风格) 观看文件更改 自动重装模拟服务器 支持esm / cjs样式模块 安装 yarn add vue-cli-plugin-mock 用vue-cli3安装 vue add vue-cli-...
功能和目的:这是全书示例项目的完整源代码,使用 qmake 构建系统管理项目。《Qt 6 C++开发指 南》全书的内容就是针对这个版本的源代码进行讲解的。 qmake 完整版源程序解压后的目录结构如图 1-4 所示。根目录下有一...
下面将详细探讨JMockit的相关知识点以及如何使用这些示例代码。 1. **什么是JMockit?** JMockit是一个开源的Java库,用于进行模拟和测试驱动开发(TDD)。它支持JUnit、TestNG和其他测试框架,提供了一种简洁的方式...
本文档旨在为初学者提供快速了解Sapera图像处理库的开发步骤,介绍了Sapera的基本概念、类图 serta各种常用类的使用方法,并提供了详细的开发步骤和示例代码。 一、Sapera++介绍 Sapera++是Sapera LT为用户提供的...
在`JmockitDemo`项目中,你将找到一个完整的示例,展示了如何将以上所有方法应用于实际的测试场景。这个项目包括了对不同类型的模拟方法的测试用例,有助于理解Jmockit的工作原理和使用方式。 通过熟练掌握Jmockit...
本项目将介绍如何使用Objective-C的测试框架和第三方库来创建和使用Mock对象,并提供一些示例代码。 **适用人群:** - Objective-C开发者,特别是那些进行单元测试的开发者。 - 对软件测试和单元测试有一定了解,但...
该项目通常包含示例代码、文档和测试用例,这些都是理解和掌握 HttpMock 功能的关键资源。 总的来说,Goware-HttpMock 是一个强大的工具,它使开发者能够在测试环境中自由地模拟 HTTP 服务,提高测试的质量和效率。...
统一边界网元转码的配置示例-Cisco 本文档提供了统一边界网元转码的配置示例,基于CiscoUnified Border Element(多维数据集)对统一边界网元转码的支持。该配置示例展示了如何配置多维数据集和DSP资源,以实现统一...
3. **示例**:可能提供一些示例项目或测试用例,演示如何使用JMockit进行单元测试。 4. **许可证文件**:关于软件授权的信息,规定了使用和分发JMockit的条款。 为了使用JMockit,你需要将"jmockit-1.6.jar"添加到...
量角器-xmlhttprequest-mock Ajax 为量角器调用模拟插件,也适用于 angular 2。 一个简单的用法示例: import { browser , $ } from 'protractor' ; import { MockService } from 'protractor-xmlhttprequest-...
4. `README.md`:项目介绍、安装指南和使用示例。 5. `package.json`:项目的配置文件,记录了依赖、版本信息等。 为了使用这个库,开发者通常需要按照以下步骤操作: 1. 安装:通过npm或yarn将库添加到项目依赖中...
大中型的实用项目中,多人协作开发,除了分层次目录存放源码,还要考虑源码权限,自动化的...本资源是一个项目目录树和makefile树的简单示例。具体说明参考:http://blog.csdn.net/zhouyulu/article/details/8449263
spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 ...spring-boot-admin-simple:Spring Boot Admin 的使用示例
sartography / protocol-builder-mock UVA IRB协议生成器模拟 要求 的Python 3 点(适用于python 3) pipenv(只需运行pip install pipenv) 数据库设置 CR Connect项目的数据库也将为协议构建器创建一个空数据库...
下载后,你可以查看源码了解Mocka的工作原理,参考示例项目学习如何在自己的项目中使用Mocka,通过阅读文档获取更多使用技巧和配置选项。 总的来说,Mocka是JavaScript和CSS开发中的一个实用工具,它使得在开发过程...
这个“jmockit使用例子”很可能会涵盖如何利用JMockit进行测试的基本步骤,以及如何改变静态方法的模拟实现。 在Java开发中,单元测试是确保代码质量的重要环节。然而,当涉及到依赖于外部系统、静态方法或不可控...
这是在docker-compose配置中使用服务器的示例: version : ' 3 ' services : oidc-server-mock : container_name : oidc-server-mock image : soluto/oidc-server-mock ports : - " 4011:80 " environment ...
composer require-dev webwhales/laravel-guzzle-conditional-mock-handler 简单的例子 要使用条件模拟处理程序,您必须在测试中使用TestWithGuzzleMockHandler特性。 此外,Guzzle客户端必须通过Laravel容器或...
C Mock-Google Mock扩展 概述 C Mock是的扩展,允许函数。 仅支持全局(非静态)函数模拟。 这既不是Google Mock的补丁,也不是它的分支。...C Mock不知道是否使用名称修饰声明了模拟函数-这是纯C函数还是C ++
3. **sample**:这个目录可能包含了一些示例代码,演示了如何使用JMockit进行单元测试。这些示例可以帮助初学者快速理解JMockit的工作原理和用法。 要开始使用JMockit,你需要先在项目中引入依赖,通常是通过Maven...