7

我正在使用一些具有按名称调用参数的方法测试一个对象与另一个对象之间的交互。但是,我不知道如何为该按名称调用的参数创建参数匹配器。

假设这是模拟对象的签名:

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)) ……这显然是意料之中的。

4

1 回答 1

2

我刚刚在 specs2 中为byname arguments 和 functions/partial function arguments添加了一些支持。请试用最新的 specs2-1.9-SNAPSHOT 并在 GitHub 上创建一个问题,如果这对您不起作用。

于 2012-03-07T22:12:13.253 回答