[rspec-users] Cucumber dying on decrement_open_transactions

Wincent Colaiuta win at wincent.com
Sun Jan 18 12:18:56 EST 2009


I am trying to convert from Story Runner to Cucumber so have started  
with a really minimal story, but am dying with exceptions in  
ActiveRecord's decrement_open_transactions method. I started took my  
shortest story and trimmed off steps until I got it down to the  
minimal case that aborts:

   Feature: accessing the wiki index
     As a user
     I want to view the wiki index
     So that I can get an overview of what is available

     Scenario: the wiki has no article
       Given no articles in the wiki
       When I access the wiki index
       Then I should see "Recently updated"

The corresponding steps are:

   Given /^no articles in the wiki$/ do
     Article.destroy_all
   end

   When /^I access the wiki index$/ do
     get '/wiki'
   end

But I die with:

Feature: accessing the wiki index  # features/wiki.feature
   As a user
   I want to view the wiki index
   So that I can get an overview of what is available
   Scenario: the wiki has no article       # features/wiki.feature:6
     Given no articles in the wiki         # features/step_definitions/ 
wiki.rb:1
     When I access the wiki index          # features/step_definitions/ 
wiki.rb:9
     Then I should see "Recently updated"  # features/step_definitions/ 
webrat_steps.rb:83
/Users/wincent/demo/src/vendor/rails/activerecord/lib/active_record/ 
connection_adapters/abstract_adapter.rb:159:in  
`decrement_open_transactions': You have a nil object when you didn't  
expect it! (NoMethodError)
You might have expected an instance of Array.
The error occurred while evaluating nil.-	from /Library/Ruby/Gems/1.8/ 
gems/cucumber-0.1.15/bin/../lib/cucumber/rails/world.rb:60:in  
`__cucumber_26364730'

I can make the error go away if I comment out:

   Cucumber::Rails.use_transactional_fixtures

But I'd like to understand why it doesn't work with the default  
setting, just in case I am doing something wrong.

Cheers,
Wincent





More information about the rspec-users mailing list