方法不起作用时的Mockito宽大()

uurity8g  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(156)

我有一堂这样的课,

class Random {
  public String abc(String one, String two, Map<String, String> three){
    ..
  }
}

现在,我已经从测试类创建了一个模拟对象,如

@Mock
private Random mockRandom;

那我就试着像Mockito.lenient().when(mockRandom.abc(any(String.class),any(String.class),any(Map.class))).thenReturn(“Test value”);一样嘲笑它
在这之后,当我运行一个测试用例时,这个abc方法不会给出“测试值”。

zu0ti5jz

zu0ti5jz1#

这里有两件事我能想到:
1.试着用any()来代替。2可能你的参数是另一种类型。3我认为map.class可能是问题所在,因为它实际上是一个Map〈Object,Object〉。
1.另一个问题是Random类是final类(例如,如果使用Lombok@Value),因此修复方法是使该类不是final类

相关问题