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 <li...@ruby-forum.com> 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 > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users