Mockito单元测试-answer
Answer接口说明
对mock对象的方法进行调用预期的设定,可以通过thenReturn()来指定返回值,thenThrow()指定返回时所抛异常,通常来说这两个方法足以应对一般的需求。但有时我们需要自定义方法执行的返回结果,Answer接口就是满足这样的需求而存在的。另外,创建mock对象的时候所调用的方法也可以传入Answer的实例mock(java.lang.Class<T> classToMock, Answer defaultAnswer),它可以用来处理那些mock对象没有stubbing的方法的返回值。
使用方法
@Test(expected = BatchExecutException.class)
public void testCheckExcepHaltForSendGooods01() {
SendGoodsParams params = new SendGoodsParams();
params.createParams(20, user.getTaobaoId());
Long[] taobaoIdsArray = params.taobaoIds.toArray(new Long[20]);
Long[] tidsArray = params.tids.toArray(new Long[20]);
Long[] sysTidArray = params.sysTids.toArray(new Long[20]);
Mockito.when(tradeQueryServiceNoSolr.queryByPrimaryKeysBase(Mockito.any(User.class),
Mockito.anyList(), Mockito.anyBoolean())).then(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
List<TradePrimaryKey> tradePrimaryKeys = (List<TradePrimaryKey>) args[1];
List<TbTrade> trades = new ArrayList<TbTrade>();
for (TradePrimaryKey tpk : tradePrimaryKeys) {
TbTrade temp = new TbTrade();
temp.setId(1L);
temp.setTaobaoId(tpk.getTaobaoId());
temp.setTid(tpk.getTid());
temp.setSysTid(tpk.getSysTid());
temp.setMergeSplitType(0);
TbOrder tbOrder = new TbOrder();
tbOrder.setTid(tpk.getTid());
tbOrder.setOid(tpk.getTid());
tbOrder.setRefundId("1111");
tbOrder.setMergeSplitType(0);
tbOrder.setRefundStatus(TbOrder.REFUND_WAIT_BUYER_RETURN_GOODS);
temp.setOrders(Arrays.asList(new TbOrder[]{tbOrder}));
trades.add(temp);
}
return trades;
}
});
tradeService.__checkExcepHaltForSendGooods(user, taobaoIdsArray, tidsArray,
sysTidArray, SendGoodTag.TYPE.OFFLINE);
}
Mockito单元测试-answer相关推荐
- JUnit与Mockito单元测试典型示例
单元测试的重要性无需赘述,但单元测试也会遇到困难,其中之一就是如何创建依赖.试想我们常见的server端分层架构,数据访问层Dao,业务层,以及Web层,想要单元测试业务层,我们需要依赖Dao层提供数 ...
- mockito 单元测试_使用FizzBuzz和Mockito进行单元测试
mockito 单元测试 我有时使用FizzBuzz向新手演示单元测试的基础. 尽管FizzBuzz确实是一个简单的问题,但它也可以用于演示更高级的单元测试技术,例如模拟 . FizzBu ...
- mockito单元测试示例_Mockito模拟示例
mockito单元测试示例 Mockito mocking framework provides different ways to mock a class. Let's look at diffe ...
- linux打桩数框架,Mockito 单元测试打桩神器
last modified by coder4 , 2019/08/30 18:34:26 Mockito 单元测试打桩神器 单元测试 软件测试是软件质量保证的关健环节,代表了需求.设计和编码的最终检 ...
- 记录学习Mockito单元测试的坑——空指针异常
记录学习Mockito单元测试的坑--空指针异常 情况一 mockito-all依赖和mockito-core依赖同时引用时,可能会报空指针异常 正确引用 <!--导入junit单元测试依赖-- ...
- mockito mock void方法_一文让你快速上手 Mockito 单元测试框架(上)
作者|mghio 编辑|包包 前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用.为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改 ...
- mockito mock void方法_一文让你快速上手 Mockito 单元测试框架
前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用.为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改,简化集成,方便代码重构以及许多 ...
- Mockito单元测试—verify
1.校验方法是否调用 Mockito提供vertify关键字来实现校验方法是否被调用,具体调用如下例子: @Testpublic void update() throws Exception {boo ...
- 单元测试利器——手把手教你使用Mockito
作者:京东零售 秦浩然 从你成为开发人员的那一天起,写单元测试终究是你逃不开的宿命!那开发人员为什么不喜欢写单元测试呢?究其原因,无外乎是依赖.依赖其他的服务.依赖运行的环境.等等,各种依赖都成为了我 ...
最新文章
- java增强for循环
- C#操作NPOI插件的HSSFWorkBook,常见的那些坑
- 阿里 Midway 正式发布 Serverless v1.0,研发提效 50%
- 【题解】 [HEOI2016]排序题解 (二分答案,线段树)
- FDS (Flex Data Services)
- Spring MVC DispatcherServlet介绍(2)
- java 可视化_可视化Java 9模块关系
- 和在c语言,?和:在C语言中的详解
- 14岁AI天才的钢铁之心
- 小女出世,暂停工作,全职照料大人小孩
- 强悍的 ubuntu —— ubuntu 与 windows 双系统的交互
- JavaScript_8_比较,条件语句
- make files touse cmd line to protect exe
- 【快速高斯模糊的实现】
- jsp 引入java类库报错_myeclipse中运行Jsp项目调用java,运行不了,报错说不能解析jsp中的类型,资源文件无法使用,求解,...
- Ubuntu 修改鼠标中键功能
- 深度学习相关的硬件配置
- 华盛顿大学华人团队进入微软Imagine Cup总决赛!
- appcms手机端点击按钮返回顶部
- Ubuntu 安装rar文件解压工具