如何使用Mockito设置在scala中采用隐式参数的方法

时间:2015-07-02 17:08:19

标签: scala mockito

我正在熟悉“无效使用参数匹配器”,尝试设置一个采用常规参数和隐式参数的方法。

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中不可模拟

0 个答案:

没有答案