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

  • 相关阅读:
    JAVA闰年测试与解决非法输入
    Junit介绍与实现
    等价类划分方法的应用
    使用Visual Studio 2013进行UI自动化测试
    简谈软件测试
    【Software Project Management】Quizs
    White box testing
    peer review
    闰年问题
    热烈庆贺清明小长假的到来
  • 原文地址:https://www.cnblogs.com/lojun/p/9704043.html
Copyright © 2011-2022 走看看