[rspec-users] rspec 2 not cleaning up after examples run?
David Chelimsky
dchelimsky at gmail.com
Mon Jun 28 11:35:02 EDT 2010
On Jun 28, 2010, at 10:30 AM, Timo Rößner wrote:
> On Jun 28, 5:03 pm, David Chelimsky <dchelim... at gmail.com> wrote:
>> On Jun 28, 2010, at 10:00 AM, Timo Rößner wrote:
>>
>>
>>
>>> Hey guys,
>>
>>> I let the code speak for itself:
>>
>>> Below are my currently failing specs, please don't pay too much
>>> attention to the specs themselves, I just want to give you a "real
>>> life example" of what's happening - the only interesting thing about
>>> the specs is that there is a call to Factory(:challenge) in each of
>>> them and a before-each-call putting out what's currently in the
>>> database:
>>
>>> describe 'featuring' do
>>
>>> before(:each) do
>>> puts "Before Each:"
>>> puts "Featured Challenges size: #{Challenge.featured.size}"
>>> puts "Challenges count: #{Challenge.count}"
>>> end
>>
>>> it 'should tell if a challenge is featured' do
>>> challenge = Factory(:challenge, :feature_position => 1)
>>> challenge.should be_featured
>>> end
>>
>>> it 'should tell if a challenge is not featured' do
>>> challenge = Factory(:challenge, :feature_position => 0)
>>> challenge.should_not be_featured
>>> end
>>
>>> it 'should feature a challenge' do
>>> challenge = Factory(:challenge)
>>> challenge.feature!
>>> Challenge.featured.should == [challenge]
>>> end
>>
>>> it 'should unfeature a challenge' do
>>> challenge = Factory(:challenge, :feature_position => 1)
>>> challenge.unfeature!
>>> Challenge.featured.should be_empty
>>> end
>>> end
>>
>>> Now to the interesting part:
>>
>>> A spec run using rails 2.3.5 and rspec 1:
>>
>>> bundle exec spec spec/models/challenge_spec.rb
>>> Before Each:
>>> Featured Challenges size: 0
>>> Challenges count: 0
>>> .Before Each:
>>> Featured Challenges size: 0
>>> Challenges count: 0
>>> .Before Each:
>>> Featured Challenges size: 0
>>> Challenges count: 0
>>> .Before Each:
>>> Featured Challenges size: 0
>>> Challenges count: 0
>>> ..............................
>>
>>> -> Looks good.
>>
>>> Here's the exact same spec run with rspec-2.0.0.beta.13 and
>>> rails-3.0.0.beta4:
>>
>>> Before Each:
>>> Featured Challenges size: 0
>>> Challenges count: 0
>>> Before Each:
>>> Featured Challenges size: 1
>>> Challenges count: 1
>>> .Before Each:
>>> Featured Challenges size: 1
>>> Challenges count: 2
>>> Before Each:
>>> Featured Challenges size: 2
>>> Challenges count: 3
>>
>>> So apparently the latest rspec doesn't clean up after examples at all?
>>
>>> Is this a bug or a feature?
>>
>> Bug, but please check if it's still true of beta.14.1.
>>
> Hey David,
>
> I just tried it out using the latest rspec and rspec-rails:
>
> Gemfile:
>
> gem 'rspec', '2.0.0.beta.14'
> gem 'rspec-rails', '2.0.0.beta.14.1
>
> $ bundle show rspec
> ~/.bundle/ruby/1.8/gems/rspec-2.0.0.beta.14
>
> $bundle show rspec-rails
> ~/.bundle/ruby/1.8/gems/rspec-rails-2.0.0.beta.14.1
>
> Unfortunately, the bug still exists when using this configuration:
>
> Before Each:
> Featured Challenges size: 0
> Challenges count: 0
> .Before Each:
> Featured Challenges size: 1
> Challenges count: 1
> .Before Each:
> Featured Challenges size: 1
> Challenges count: 2
> FBefore Each:
> Featured Challenges size: 2
> Challenges count: 3
What's in your Gemfile and spec/spec_helper.rb?
ps - please post in-line or at the bottom so we can follow the thread.
More information about the rspec-users
mailing list