My understanding is that the before :each block runs before every example.
While before :all blocks run once for the entire example group.
Any side effects in the examples will be persist for objects if you use a
before :all block. But if you were to use before :each, you guarantee the
state before every example is run.
Stupid code example.
describe "stuff"
before :all do
puts "done one time"
end
before :each do
puts "done once for every example"
end
describe "one thing stuff does" do
end
describe "second thing stuff does" do
end
end
You'd see something like this in the output:
done one time
done once for every example
done once for every example
Again, this is just my understanding. Could be wrong.
Jon Homan
On Thu, Jan 27, 2011 at 4:56 PM, Brian Warner <[email protected]> wrote:
> I'm having a hard time grasping the difference between :each and :all.
>
> If I have a bunch of stuff inside a "before :each" block. Everytime I
> try to run an example that block of code will be run before the example.
>
> Now if I had the same code inside a "before :all" block. Everytime an
> example is run, that block will still be run. Yielding the same results.
> At least in my mind.
>
> The RSpec book says something like "before :each" defines a state for
> each example. "before :all" defines a state for all the examples. But
> what's the difference?
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> 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