我正在为一个以Play2类DefaultSyncCacheApi
作为依赖关系的类编写单元测试。
我正在我正在测试的课程中调用方法getOrElseUpdate[A: ClassTag](key: String, expiration: Duration)(orElse: => A): A
。
当然,我不想测试缓存类,但我只想模拟它,以便我可以测试其他功能。
我尝试使用Mockito:
mockCache = mock[DefaultSyncCacheApi]
when(mockCache.getOrElseUpdate(any(),any())(any())(any()).thenReturn(Future[String])
我首先从任何()开始,然后我也尝试过:
when(mockCache.getOrElseUpdate[List[Item]](any(),any())
(any[List[Item]])
(any[ClassTag[List[Item]]])
).thenReturn(List(new Item))
我总是得到同样的错误:
InvalidUseOfMatchersException:
Invalid use of argument matchers!
4 matchers expected, 3 recorded:
因此,最后我无法应用方法定义中的所有4个匹配器。