2016-03-05 86 views
0

斯波克有这很好的语法检查具有特定名称的方法是否被调用时,忽略的参数个数:捕捉和评估参数约束“* _”

1 * subscriber.receive(*_) // any argument list (including the empty argument list) 

是否有可能捕捉到参数列表在一个Object[]数组,并做它的断言?

事情是这样的:

1 * subscriber.receive(*args) 
args.size() < 2 || args.size() > 5 

回答

1

你可以使用这个语法检查参数作为数组:

1 * subscriber.receive(*_) >> { assert it.size() < 1 || it.size() > 5 } 

用于交互时关闭,当它被称为与非类型化的说法,这个参数将所有参数作为一个数组。

+0

太棒了,我错过了。谢谢! – S1lentSt0rm