[rspec-users] mocking does not work

Leon Du leondu at gmail.com
Thu Oct 30 05:24:26 EDT 2008


Thanks for your reply, I did move the code to before

before(:each) do
  Logo.stub!(:new).and_return(mock_logo(:save => true, :company= => nil))
end

2008/10/30 Hans de Graaff <hans at degraaff.org>

> On Thu, 2008-10-30 at 14:47 +0800, Leon Du wrote:
> > The spec
> >
> --------------------------------------------------------------------------------------------------------------------------------------------------------
> > it "should expose a newly created logo as @logo" do
> >   Logo.should_receive(:new).with({'these' =>
> > 'params'}).and_return(mock_logo(:save => true))
> >   Logo.should_receive(:company=).with(mock_model(Company))
> >   post :create, :logo => {:these => 'params'}
> >   assigns(:logo).should equal(mock_logo)
> > end
>
> The instance of Logo should receive the company= method, not the class,
> so:
>
> @logo = mock_logo
> Logo.should_receive(:new).and_return(@logo)
> @logo.should_receive(:company=)
>
> I would probably use stub! instead here and move this code into a before
> block, and just keep the post and assigns lines in the it block.
>
> Hans
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20081030/9226257e/attachment.html>


More information about the rspec-users mailing list