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