验证Mockito中的名称参数

时间:2014-06-20 08:40:52

标签: scala mockito scalatest

给出

class UnderTest {
    def f(arg1: Int)(arg2: => Int) = ???
}

尝试这样做:

import org.mockito.Matchers
val objUnderTest = mock[UnderTest]
verify(objUnderTest).f(Matchers.eq(1))(Matchers.any())

失败了"无效使用参数匹配器!"例外,抱怨预计有2名匹配者,其中1名被记录。

是否正在使用Mockito验证对包含多个参数列表的函数的调用,包括可能的名称参数?

1 个答案:

答案 0 :(得分:4)

据我所知,你不能用Mockito模拟byname参数。我已经在specs2中完成了它,但这需要覆盖一些Mockito类,这使它成为可能,但这是一个丑陋的解决方案。