[rspec-users] class variables different between spec and runtime?

Andrew Premdas apremdas at gmail.com
Mon Dec 28 00:18:13 EST 2009


2009/12/22 Rick DeNatale <rick.denatale at gmail.com>

> On Tue, Dec 22, 2009 at 10:24 AM, David Chelimsky <dchelimsky at gmail.com>
> wrote:
> >
> >
> > On Tue, Dec 22, 2009 at 9:22 AM, David Chelimsky <dchelimsky at gmail.com>
> > wrote:
> >>
> >>
> >> On Tue, Dec 22, 2009 at 9:14 AM, Peter Fitzgibbons
> >> <peter.fitzgibbons at gmail.com> wrote:
> >>>
> >>> Hello Folks,
> >>>
> >>> This gist http://gist.github.com/261791 has an example user.rb,
> >>> user_spec.rb
> >>> At runtime, this snippet fails
> >>>
> >>> u = User.find(123)
> >>> u.update_with_profile({...})
> >>> The error occurred while evaluating nil.select):
> >>>   app/models/user.rb:6:in `moderator_fields'
> >>>   app/models/user.rb:118:in `update_with_profile'
> >>>
> >>> The spec passes all-green.
> >>>
> >>> Could you tell me how this might be ?
> >>
> >> The user in the spec comes from new_with_profile(), which sets instance
> >> variables on the User class.
> >> The user in the console comes from find(), and those ivars are not yet
> >> set.
> >
> > Also - @params in the User class (in the class methods) is not the same
> > @params in the User instances (in update_with_profile).
> > HTH,
> > David
>
>
> Also counting on class variables to retain state in Rails is a recipe
> for disaster.
>
>
Please explain why - thanks.

Andrew


> --
> Rick DeNatale
>
> Blog: http://talklikeaduck.denhaven2.com/
> Twitter: http://twitter.com/RickDeNatale
> WWR: http://www.workingwithrails.com/person/9021-rick-denatale
> LinkedIn: http://www.linkedin.com/in/rickdenatale
> _______________________________________________
> 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/20091228/365d539e/attachment.html>


More information about the rspec-users mailing list