Mockito: InvalidUseOfMatchersException
来源:互联网 发布:用qq群推广淘宝客 编辑:程序博客网 时间:2024/06/01 23:56
今天在项目中采用powermock进行单元测试,发现使用Matchers结果报如下错误
org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument matchers!4 matchers expected, 3 recorded:-> at com.yihaodian.wap.service.AddressServiceTest.testInsertGoodReceiverByTokenV2(AddressServiceTest.java:136)-> at com.yihaodian.wap.service.AddressServiceTest.testInsertGoodReceiverByTokenV2(AddressServiceTest.java:136)-> at com.yihaodian.wap.service.AddressServiceTest.testInsertGoodReceiverByTokenV2(AddressServiceTest.java:136)This exception may occur if matchers are combined with raw values: //incorrect: someMethod(anyObject(), "raw String");When using matchers, all arguments have to be provided by matchers.For example: //correct: someMethod(anyObject(), eq("String by matcher"));For more info see javadoc for Matchers class.
原始代码如下:
httpHelpMock.callShopInterfaceObj("addGoodReceiver", Matchers.any(Object[].class), Matchers.any(Type.class),"/myyhdmobile/address/addGoodReceiver.do",true);
public void callShopInterfaceObj(String methodName, Object[] objs,Type t,String shopurl2,Object reObj){PowerMockito.when(HttpHelper.callShopInterfaceObj(methodName, objs, t, shopurl2)).thenReturn(reObj);}
怎么也调试不出来
最后查看了这篇文章
http://stackoverflow.com/questions/14845690/mockito-invaliduseofmatchersexception
做修改如下:
httpHelpMock.callShopInterfaceObj(Matchers.eq("addGoodReceiver"), Matchers.any(Object[].class), Matchers.any(Type.class),Matchers.eq("/myyhdmobile/address/addGoodReceiver.do"),true);
主要差异是对传入的字符串做了Matchers.eq()动作
原因:使用Matchers不能只针对部分参数,所有参数都应该采用Matchers
0 0
- Mockito: InvalidUseOfMatchersException
- Mockito
- mockito
- Mockito
- Mockito
- mockito
- Mockito
- Mockito
- Mockito
- Mockito
- Mockito
- Mockito
- Mockito实例-Junit & Mockito
- Mockito入门
- Mockito入门
- Mockito框架
- Mockito使用
- Mockito-入门
- epoll和select性能比较
- Java的内存管理
- 新的开始
- 无线网络的负载均衡
- avsubtitleWriter demo解析(一):字幕解析
- Mockito: InvalidUseOfMatchersException
- Python - 快速排序(quick sort) 及 去重(no duplicate)
- [Maven]添加新仓库或者新发布依赖后却获取不到问题的解决方案
- 深入理解JVM
- 案例:区分项目类型建立过程性能模型
- 3.1-3.31推荐文章汇总
- C# 用数据库读取Excel出现“定义了过多字段”错误的解决方法
- 802.11 PCF/DCF
- iOS调用相册、相机、上传