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;
}
};
}
}
分享到:
相关推荐
3. **可扩展性**:作为一个中间件,lws-mock-response 可以与其他中间件配合使用,例如,与路由处理中间件结合,实现更复杂的逻辑。 4. **易于集成**:lws-mock-response 设计简洁,API清晰,与LWS服务器的集成过程...
功能和目的:这是全书示例项目的完整源代码,使用 qmake 构建系统管理项目。《Qt 6 C++开发指 南》全书的内容就是针对这个版本的源代码进行讲解的。 qmake 完整版源程序解压后的目录结构如图 1-4 所示。根目录下有一...
如果您指定了示例,则JSON数据值应该是您的招摇中的示例值。 否则, swagger-to-mock遵循并生成任意值。 如果没有诸如format规则,则值应在下面。 string : " " number : 0 integer : 0 boolean : true array : []...
下面将详细探讨JMockit的相关知识点以及如何使用这些示例代码。 1. **什么是JMockit?** JMockit是一个开源的Java库,用于进行模拟和测试驱动开发(TDD)。它支持JUnit、TestNG和其他测试框架,提供了一种简洁的方式...
2.1 如何使用函数库(LIBFRIENDLYARM-HARDWARE.SO)? - 20 - 2.2 函数库(LIBFRIENDLYARM-HARDWARE.SO)接口说明 - 22 - 2.2.1 通用的输入输出接口 - 22 - 2.2.2 串口通讯的接口说明 - 23 - 2.2.3 开关LED的接口说明 - ...
本文档旨在为初学者提供快速了解Sapera图像处理库的开发步骤,介绍了Sapera的基本概念、类图 serta各种常用类的使用方法,并提供了详细的开发步骤和示例代码。 一、Sapera++介绍 Sapera++是Sapera LT为用户提供的...
在`JmockitDemo`项目中,你将找到一个完整的示例,展示了如何将以上所有方法应用于实际的测试场景。这个项目包括了对不同类型的模拟方法的测试用例,有助于理解Jmockit的工作原理和使用方式。 通过熟练掌握Jmockit...
本项目将介绍如何使用Objective-C的测试框架和第三方库来创建和使用Mock对象,并提供一些示例代码。 **适用人群:** - Objective-C开发者,特别是那些进行单元测试的开发者。 - 对软件测试和单元测试有一定了解,但...
以下部分描述了在您的设备上安装此存储库、相关组件并在其上运行示例的步骤。本页中解释的大多数步骤对于 PC 仿真和目标执行都是通用的。如果 PC 和目标之间的任何步骤不同,则在本文档中标注相同。 设置 此存储库...
4. `README.md`:项目介绍、安装指南和使用示例。 5. `package.json`:项目的配置文件,记录了依赖、版本信息等。 为了使用这个库,开发者通常需要按照以下步骤操作: 1. 安装:通过npm或yarn将库添加到项目依赖中...
大中型的实用项目中,多人协作开发,除了分层次目录存放源码,还要考虑源码权限,自动化的...本资源是一个项目目录树和makefile树的简单示例。具体说明参考:http://blog.csdn.net/zhouyulu/article/details/8449263
使用mock测试的几点好处: a、能够帮助我们解耦设计,即以接口设计为中心。 b、在使用其他对象的情况。通过为mock设置期望的行为,可以验证我们的代码是否正确。 c、使你的测试运行的更快。通过mock数据库,通等接口...
sartography / protocol-builder-mock UVA IRB协议生成器模拟 要求 的Python 3 点(适用于python 3) pipenv(只需运行pip install pipenv) 数据库设置 CR Connect项目的数据库也将为协议构建器创建一个空数据库...
如何实现傅里叶变换算法,使用MATLAB实现傅里叶变换的步骤和示例代码; 如何实现傅里叶变换算法,使用MATLAB实现傅里叶变换的步骤和示例代码; 如何实现傅里叶变换算法,使用MATLAB实现傅里叶变换的步骤和示例代码;...
vscode-mock-debug, 为VSCode开发调试适配器的入门示例 vs-代码模拟调试这是开发 vs 代码调试适配器的入门示例。模拟调试调试器为 Visual Studio 代码模拟调试适配器。 它支持步骤,继续,断点,异常,异常 access,...
在此示例中,我们首先使用`@Mocked`注解创建了一个`UserRepository`的mock对象,并使用`@Tested`注解指定了被测试的`UserService`类。接下来,我们定义了一个`Expectations`块来记录预期行为,然后调用`userService....
- 这个文件名可能是一个Git仓库的某个版本,包含GoMock相关的源码或示例,可以帮助开发者深入理解GoMock的实现和用法。 总的来说,GoMock是Go语言中不可或缺的测试工具,它帮助开发者编写更健壮、可维护的代码,...
9. **示例和最佳实践**:教程中应包含丰富的示例代码,通过实际案例帮助理解如何有效地使用JMockit进行测试。同时,也会给出一些最佳实践,指导如何编写可读性好、可维护性强的测试代码。 通过深入学习JMockit教程....
【描述】提到这是个人作品,这可能意味着该压缩包中包含了一位开发者自创的Mock Servlet实现或者一个示例项目,用于展示如何使用Mock Servlet进行应用的测试。由于描述信息较简洁,我们只能推测这是一个专注于测试的...