使用 Mockito 的嵌套值使用 any 或 anyNamed 匹配器

Using any or anyNamed matchers for nested values with Mockito

我正在尝试将 Mockito 的参数匹配器传递给嵌套对象值。到目前为止,我已经成功地使用了这样的东西:

when(object.getData(any, any, userId: anyNamed("userId"))).thenAnswer((_) async => response);

但是现在我需要对嵌套值使用 anyanyNamed。以下代码:

when(adapterMock.fetch(
  RequestOptions(
    method: anyNamed("method"),
    path: "orders",
  ),
  any,
  any,
)).thenAnswer((_) async =>response);

报错:

Invalid argument(s): An ArgumentMatcher was declared as named method, but was not passed as an
argument named method.

BAD:  when(obj.fn(anyNamed: "a")))
GOOD: when(obj.fn(a: anyNamed: "a")))

是否有提供嵌套参数匹配器的正确方法?

似乎在 mockito 中使用嵌套匹配器 not possible。我最终稍微重组了我的项目,所以我不再需要使用这样的匹配器了。