class Foo
def bar(a, b)
...
Foo.should_receive(:bar)
erwartet Bar mit beliebigen Argumenten aufgerufen werden.Wie erwartet, dass einige (aber nicht alle) Argumente mit RSpec sollte receive?
Foo.should_receive(:bar).with(:baz, :qux)
erwartet: baz und: qux wird als params übergeben.
Wie zu erwarten, dass der erste param gleich: baz, und kümmert sich nicht um die anderen params?
Das funktioniert. Der Vorbehalt ist, dass Sie für jeden Parameter ein "irgendetwas" brauchen. –
Ich bin nicht sicher, ob es nachher hinzugefügt wurde, aber RSpec hat any_args, so dass für 'bar (a, b, c)' Sie können 'Foo.should_receive (: bar) .with (: baz, any_args)' – rubyprince
Danke @rubyprince sehr, super Tipp! –