[rspec-users] Cucumber dying on decrement_open_transactions
Ben Mabey
ben at benmabey.com
Sun Jan 18 13:42:00 EST 2009
On 1/18/09 10:18 AM, Wincent Colaiuta wrote:
> 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.
From what I can see I don't believe you are doing anything wrong.
What DB are you using? Perhaps your adapter doesn't support
transactions? (just a wild guess)
-Ben
More information about the rspec-users
mailing list