On 26/02/2008, David Chelimsky <[EMAIL PROTECTED]> wrote:
>
> On Tue, Feb 26, 2008 at 7:39 AM, Max Williams
> <[EMAIL PROTECTED]> wrote:
>
>
> This does not happen for you implicitly when you use before(:all)
> because there is no mechanism for running a group of examples in a
> transaction.


ah...i see.  I didn't know about that last bit. :)

> My problem, though, is that the data is left over from the last time (in
> > fact all previous times) that i ran the spec file, where i thought that
> it
> > was cleared out.  Do i need to explicitly tell the database to clear all
> the
> > records in an 'after' block?
>
>
> Yes.  If you want to use before(:all) to set up data, you need to use
> after(:all) to clean it up explicitly.
>
> Please beware that this approach is extremely error prone over time.
> If you ever introduce a side effect (intentionally or accidentally)
> that modifies the data, you're going to look at the spec, see the data
> you're setting up and incorrectly think that that's the data every
> example is using. It is much, much safer (and more sane) to use
> before(:each) even though it may slow things down a bit.


Gotcha.  Thanks!

HTH,
>
> David
>
>
>
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to