给定一个带有参数的方法 在Java中,例如:
public class Foo {
public Bar theBar(Bar bar) { /*... */ }
}
当对foo进行桩造/模拟时,我该如何告诉它接受任何参数并返回它?(Groovy)
def fooStub = Stub(Foo) {
theBar(/*what to pass here*/) >> { x -> x }
}
正如你所看到的,我通过了身份函数。然而,我不知道应该传递什么参数。_
不起作用,因为它是一个 ArrayList
,因此不是 Bar
类型。
@CompileStatic
或@TypeChecked
吗?可以贴出你的整段代码吗,没有理由为什么_
不会起作用。 - Leonard Brüningsx
输入实际上是方法调用的整个参数列表? 执行以下操作可解决问题:theBar(_)>> {args - > args.get(0)}
。但是为什么需要这样做呢?如何正确地表达这一点而无需任何技巧? - tiguchi