class Foo
def bar(a, b)
...
Foo.should_receive(:bar)
prevede che la barra venga chiamata con qualsiasi argomento.Come prevedere alcuni (ma non tutti) argomenti con RSpec should_receive?
Foo.should_receive(:bar).with(:baz, :qux)
prevede: baz e: qux da passare come parametri.
Come aspettarsi che il primo parametro sia uguale: baz, e non si preoccupa degli altri parametri?
Questo funziona. L'avvertenza è che hai bisogno di un "qualcosa" per ogni parametro. –
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
Grazie @rubyprince molto, ottimo suggerimento! –