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;
}
};
}
}
分享到:
相关推荐
mockjs在线使用安装(纱线或npm) 节点版本: > = 12.0.0 版本号: > = 2.0.0 yarn add mockjs# ornpm i mockjs -Syarn add vite-plugin-mock -D# ornpm i vite-plugin-mock -D例子运行示例 # ts examplecd ./...
vue-cli-plugin-mock 用于本地模拟数据功能的软件包 简单的写作(Express.js风格) 观看文件更改 自动重装模拟服务器 支持esm / cjs样式模块 安装 yarn add vue-cli-plugin-mock 用vue-cli3安装 vue add vue-cli-...
IOS代码示例-登录+界面切换+界面间传参,代码简洁,亲测可用。IOS代码示例-登录+界面切换+界面间传参,代码简洁,亲测可用。IOS代码示例-登录+界面切换+界面间传参,代码简洁,亲测可用。IOS代码示例-登录+界面切换+...
如果您指定了示例,则JSON数据值应该是您的招摇中的示例值。 否则, swagger-to-mock遵循并生成任意值。 如果没有诸如format规则,则值应在下面。 string : " " number : 0 integer : 0 boolean : true array : []...
Jmockit用法示例,对各种函数(公有、私有、静态、final、无参数、带参数、接口)进行mock的方法
2.1 如何使用函数库(LIBFRIENDLYARM-HARDWARE.SO)? - 20 - 2.2 函数库(LIBFRIENDLYARM-HARDWARE.SO)接口说明 - 22 - 2.2.1 通用的输入输出接口 - 22 - 2.2.2 串口通讯的接口说明 - 23 - 2.2.3 开关LED的接口说明 - ...
mybatis-plus-sample-crud: 完整 CRUD 示例 mybatis-plus-sample-wrapper: 条件构造器示例 mybatis-plus-sample-pagination: 分页功能示例 mybatis-plus-sample-active-record: ActiveRecord示例 mybatis-plus-...
JSP示例2023-11-02.zip
VC编程模型示例之 WSAEventSelect 模型 配套讲解请参考我的blog http://blog.csdn.net/PiggyXP
winform 三层示例--火车车票查询
ASP.NET SignalR编程实战(附书中完整Demo示例源码)--完整版)
参考资料-2M.02.06.02 示例-流程目录.zip
这是Apache Thrift框架的一个简单示例,用于在多语言环境中进行远程服务调用。不要积分啊,旨在进行技术交流。邮箱:whdsmile@163.com,欢迎来信!
C#注册码注册机制完整源码示例-Z96.rar
完整的java发送邮件示例,以及所需要的jar都很全。
2020-11-15 JMockit中文网在github上的示例代码,欢迎想学习JMockit的同学下载! 如果该资源违反网站相关规定请告知
使用mock测试的几点好处: a、能够帮助我们解耦设计,即以接口设计为中心。 b、在使用其他对象的情况。通过为mock设置期望的行为,可以验证我们的代码是否正确。 c、使你的测试运行的更快。通过mock数据库,通等接口...
赛普拉斯GraphQL模拟网络GraphQL API的简单网络模拟。 该模块为提供了一个Cypress包装器安装安装... 现在,您已经准备好模拟来自cypress的任何graphql请求:D使用范例您可以在此找到一个示例测试套件。 在每次测试之前
QT串口助手示例程序-完整版
量角器-xmlhttprequest-mock Ajax 为量角器调用模拟插件,也适用于 angular 2。 一个简单的用法示例: import { browser , $ } from 'protractor' ; import { MockService } from 'protractor-xmlhttprequest-...