如何在Spock中返回通配符

时间:2016-05-02 08:08:49

标签: wildcard spock

我有这样的事情:

MyService myService = Stub( MyService) {
            filter( _, _, _ ) >> ...
}

我想回复第一个论点。

这有可能吗?

2 个答案:

答案 0 :(得分:0)

找到它:

filter( _, _, _ ) >> { return getArguments().get(0) }

答案 1 :(得分:0)

默认情况下,在存根中使用的

Closure具有在给定调用中使用的参数数组。要返回第一个it[0],可以使用。

MyService myService = Stub(MyService) {
    filter(_, _, _) >> { it[0] }
}

顺便说一句,对于更复杂的场景,可以在闭包中声明所有带有类型的参数,并使用它来计算返回值。