【问题标题】:Mockito spy: Trying to use doReturn in spy class method but is using original methodMockito spy:尝试在间谍类方法中使用 doReturn 但使用的是原始方法
【发布时间】:2020-08-07 04:46:02
【问题描述】:

我有一堂课EvaluationUtil.java

我有办法

protected List<LoanDemandList> someMethod(List<String> argList, String data);

现在在单元测试中,我想在调用这个方法时返回一个特定的值。

所以我做到了:

doReturn(loanDemandDetails)
       .when(evaluationUtil)
       .someMethod(ArgumentMatchers.<String>anyList(), anyString());

我像这样嘲笑评估工具

evaluationUtil = spy(new EvaluationOperationUtil());

但是每当我调用这个方法时,它就会进入方法内部并崩溃,它不应该只返回loanDemandDetails 而不是查看方法内部吗???

【问题讨论】:

  • 请提供最少的测试代码。
  • 尝试将ArgumentMatchers.&lt;String&gt;anyList()替换为any(List.class),看看是否还在用正法。看起来 Mockito 无法正确匹配方法参数,因此调用了真正的方法

标签: java unit-testing testing mockito spy


【解决方案1】:

您不得使用new 模拟您的班级EvaluationOperationUtil

尝试像这样模拟它:

spy(EvaluationOperationUtil.class);

或者你也可以使用:

mock(EvaluationOperationUtil.class);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 2012-08-15
    相关资源
    最近更新 更多