2016-03-05 77 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