通过 Mockito 对嵌套值使用 any 或 anyNamed 匹配器

Lim*_*bou 5 mockito dart flutter

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

when(object.getData(any, any, userId: anyNamed("userId"))).thenAnswer((_) async => response);
Run Code Online (Sandbox Code Playgroud)

但是现在我需要使用anyoranyNamed作为嵌套值。下面的代码:

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

给出错误:

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")))
Run Code Online (Sandbox Code Playgroud)

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

Lim*_*bou 4

看来在mockito 中使用嵌套匹配器是不可能的。我最终稍微重组了我的项目,所以我不再需要使用这样的匹配器。