用()和any()方法做什么?

时间:2017-08-31 09:09:10

标签: java unit-testing mockito

以下陈述的作用如下:

  // The question is about the arguments being passed in the function.
 SomeReturnOutput = CallSomeFunction(with(any(Long.class)), with(any(List.class)));

我尝试搜索它,但找不到令人满意的答案。 with(any(Long.class))with(any(List.class))返回什么?

1 个答案:

答案 0 :(得分:6)

一个用法"我所知道的any() - 这是模仿像Mockito这样的图书馆的东西。例如,请参阅here

准确地说:当你有一个模拟对象并指定"期望"电话,那么你会做的事情如下:

when(someMock.someMethod(any())).thenReturn(whatever);

这基本上告诉框架:任何传递的对象应该"匹配"。与之相反:

when(someMock.someMethod(someSpecificValue)).thenReturn(whatever);

表示:仅当使用该特定值调用someMethod()时,才应返回任何内容。

any(SomeClass.class)基本上是"遗产" version - 明确说明预期的类。有关详细说明,请参阅here

虽然不知道with()