2013-10-07 17 views

risposta

23

Utilizzare il anything matcher:

Foo.should_receive(:bar).with(:baz, anything) 
+2

Questo funziona. L'avvertenza è che hai bisogno di un "qualcosa" per ogni parametro. –

+2

Non so se è stato aggiunto in seguito, ma RSpec ha any_args in modo che per 'bar (a, b, c)' puoi fare 'Foo.should_receive (: bar) .with (: baz, any_args)' – rubyprince

+0

Grazie @rubyprince molto, ottimo suggerimento! –

0

Per Rspec 1.3anything non funziona quando il metodo sta ricevendo un hash come argomento, quindi per favore provate con hash_including(:key => val):

Connectors::Scim::Preprocessors::Builder. 
    should_receive(:build). 
    with(
     hash_including(:connector => connector) 
    ). 
    and_return(preprocessor) 
}