使用Mockito模拟具有不同Supplier参数的方法调用

问题描述

我正在尝试模拟对方法调用,该方法应根据调用它的供应商的特定类型返回不同的内容。但是,使用ArgumentMatcher似乎无效,并且始终使用最新的定义。示例:

    when(translator.translate(eq(myObject),ArgumentMatchers.<supplier<idClass>>any()))
            .thenAnswer(something);

    when(translator.translate(eq(myObject),ArgumentMatchers.<supplier<PaginatedResult<someClass>>>any()))
            .thenAnswer(somethingElse);

翻译功能

<T> T translate(MyObject myObject,supplier<T> block) {

似乎无论供应商的实际身份如何,mockito最终都使用最新的“时间”定义(通过更改订单进行测试)。不确定我缺少什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)