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

  • 相关阅读:
    perl自定义简易的面向对象的栈与队列类
    java idea实现.java文件编译成class并运行
    git代码管理及提交
    k8s和docker的区别
    pycharm查看代码结构的方法
    ssh 登录的方式
    excel分析数据绘制统计直方图
    linux普通用户使用yum安装nginx,并使用nginx
    iterm2 + virtualbox + centos环境搭建
    python源码安装
  • 原文地址:https://www.cnblogs.com/lojun/p/9704043.html
Copyright © 2011-2022 走看看