[rspec-users] How can I use nested "before" functions?

Erik Helin
Sat, 04 Dec 2010 02:11:15 -0000

On Fri, Dec 3, 2010 at 16:43, Matt Wynne <matt at mattwynne.net> wrote:

>
> On 1 Dec 2010, at 05:47, helino wrote:
>
> > Hi everyone,
> >
> > I''ve started learning Ruby and RSpec, and I''ve ran
into a small
> > problem. I have one "before" functions which run before all
my
> > descriptions and the context in the spec, and then I have another
> > "before" function inside a context, which is set to run once
before
> > all the "it" inside that context.
> >
> > My problems is that the outer "before" does not run prior to
the
> > "before" inside my context. This creates an error, since the
"before"
> > inside the context relies on a variable being created in the outmost
> > "before".
> >
> > Is this how it is supposed to be, or am I doing something wrong?
> >
> > Gists:
> > * "rspec spec --backtrace" output:
https://gist.github.com/723021
> > * router.rb: https://gist.github.com/723020
> > * router_spec.rb: https://gist.github.com/723015
>
> You''re getting before(:each) and before(:all) mixed up.
>
> before(:each) is the default. You really don''t want to use
before(:all) in
> anything but exceptional circumstances. Right now you have a mix of the
two,
> which I think it why you''re getting the suprising behaviour.
>

I know that I''m mixing before(:each) and before(:all). What
I''m wondering is
the rules for how they interact? Are then any "scoping" rules in
RSpec? I
think that it makes sense that a before(:all) defined in a context on which
a before(:each) is already applied gets run after the before(:each) has run,
but that''s just my opinion.

>
> >
> > I''m using Ruby version 1.9.2p0 with rvm on Mac OS X 10.6.5
and RSpec
> > 2.1.0.
> >
> > Thanks for a wonderful framework!
> >
> > Best regards,
> > Erik
> > _______________________________________________
> > rspec-users mailing list
> > rspec-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rspec-users
>
> cheers,
> Matt
>
> matt at mattwynne.net
> 07974 430184
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>

Thanks for your answer!
Erik
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://rubyforge.org/pipermail/rspec-users/attachments/20101203/b54534d3/attachment-0001.html>