【发布时间】:2012-03-19 17:06:41
【问题描述】:
我正在使用具有 call-by-name 参数的一些方法测试一个对象与另一个对象之间的交互。但是,我不知道如何为按名称调用的参数创建参数匹配器。
假设这是模拟对象的签名:
def fn(arg1: => String, arg2: Int): Any
然后我真正想做的是测试是否使用已知的第二个参数调用该方法。我什至不太关心第一个论点,但有一种方法来正确测试它也是一个好处。
这不起作用:
there was one(mock) fn(any[()=>String], eq(12))
也不是这个:
there was one(mock) fn(any[Function0[String]], eq(12))
这甚至无法编译:
there was one(mock) fn(any[=>String], eq(12))
...这显然是意料之中的。
【问题讨论】:
-
我对Mockito一无所知,但你试过
any[String]吗?