On 10/8/07, Scott Taylor <[EMAIL PROTECTED]> wrote: > > On Oct 8, 2007, at 2:23 PM, David Chelimsky wrote: > > > On 10/8/07, Borja Martín <[EMAIL PROTECTED]> wrote: > >> > >> David Chelimsky escribió: > >>> On 10/8/07, Borja Martín <[EMAIL PROTECTED]> wrote: > >>> > >>>> Hi, > >>>> I'm pretty new to all related to bdd and rspec and I have the > >>>> following > >>>> question. Is it possible to stub actions that return different > >>>> objects > >>>> depending on the parameteres they were called with?Something > >>>> like this: > >>>> > >>>> MyClass.stub!(:method).with(1).and_return(@mock_object_1) > >>>> MyClass.stub!(:method).with(2).and_return(@mock_object_2) > >>>> > >>> > >>> What happened when you tried this? > >>> > >>> > >> I become an error like this: > >> ... > >> undefined method `with' for #<Spec::Mocks::MethodStub:0xb6f20858> > > > > OK - that makes sense - you're probably using the latest release > > rather than the trunk. The trunk has been modified to support what > > you're trying to do. > > What is the syntax for that?
Just like Borja suggested: MyClass.stub!(:method).with(2).and_return(@mock_object_2) This is tricky though - it does NOT pass through other requests - simply ignores them. So if you do this, you must stub! every possible set of args. > > Scott > > _______________________________________________ > rspec-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
