我的测试中有以下代码...
val list : List[MyClass] = List(new MyClass)
...
doNothing().when(localLib).handleDelete(anyString(), anyString(), anyInt(), eq(list))
这将引发以下编译异常
Error:(890, 83) type mismatch;
found : Boolean
required: java.util.List[my.package.MyClass]
doNothing().when(localLib).handleDelete(anyString(), anyString(), anyInt(), eq(list))
^
你一定在用scalatest
?与Mockito
有冲突,其中一个*Spec
特征定义了它自己的eq
,你最终引用了它而不是Mockito
匹配器。
尝试添加显式导入:import org.mockito.ArgumentMatchers.{ eq => mockitoEq }
然后在需要匹配器时使用mockitoEq
而不是eq
。
eq(list)
确实是布尔值,请检查签名。你应该嘲笑最后一个参数:
doNothing().when(localLib)
.handleDelete(anyString(), anyString(), anyInt(), any[List[MyClass]])