我正在熟悉“无效使用参数匹配器”,尝试设置一个采用常规参数和隐式参数的方法。
trait MyLogger {
def debug(msg: => Any)(implicit context: LoggingContext)
}
val implicit lc = EmptyLoggingContext
val myMock = mock[MyLogger]
when(myMock.debug(any())(any())).thenAnswer(
new Answer[Unit]() {
override def answer(invocation: InvocationOnMock): Unit = ???
}
)
有了上述内容,我得到“预计2个匹配,1个记录”
如果我将其更改为:
when(myMock.debug(any())).thenAnswer....
我没有得到匹配器错误,但从不调用Answer覆盖。
我也尝试过:
when(myMock.debug(any())(any(classOf[LoggingContext]))
再次给出了2个匹配器预期错误。
任何建议都非常感谢。
感谢。
更新:这里的问题原来是msg是一个名字参数,在mockito中不可模拟