zoukankan      html  css  js  c++  java
  • Mockito: InvalidUseOfMatchersException

      异常报错信息:

    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.

    报错的测试代码:

      Mockito.when(baseDaoRead.queryForObject(Mockito.anyString(), Mockito.anyMap(), String.class)).thenReturn("123.11");

    改正确之后的测试代码:(主要是String.class不是使用Matchers传参)

      Mockito.when(baseDaoRead.queryForObject("industry.getMaxYestPayIdx", params, String.class)).thenReturn("123.11");

    或者这样也是正确的:

      Mockito.when(baseDao.queryForList(Mockito.anyString(), Mockito.anyMap())).thenReturn(list3);

    主要差异是对传入的字符串做了Matchers.eq()动作

      原因:使用Matchers不能只针对部分参数,所有参数都应该采用Matchers

  • 相关阅读:
    [Unity]关于Physic Material,物理碰撞
    [Unity]当多个立方体堆叠,堆叠处出现缝隙的处理方法
    反射基础
    数据库三种事务
    一、手写ORM实现数据库查询
    UDP协议
    Wireshark抓包理解APR协议
    DBeaver用户界面窗口失效 查询窗口不显示
    二、IP、路由协议
    解决图片存入时 A generic error occurred in GDI+ 报错
  • 原文地址:https://www.cnblogs.com/lojun/p/9704043.html
Copyright © 2011-2022 走看看