RailsApps / rails3-devise-rspec-cucumber

An example Rails 3.2 app with Devise and RSpec and Cucumber.
http://railsapps.github.io/
445 stars 144 forks source link

Fix failing cucumber feature #45

Open JESii opened 11 years ago

JESii commented 11 years ago

Use database_cleaner strategy = :truncation instead of transaction which causes nil error

MarkDBlackwell commented 11 years ago

Possibly your nil error is what bundle exec rake gives me (after cloning the example app):

Feature: Sign in
  Scenario: User is not signed up         # features/users/sign_in.feature:6
    Given I do not exist as a user        # features/step_definitions/user_steps.rb:62
    When I sign in with valid credentials # features/step_definitions/user_steps.rb:72
    Then I see an invalid login message   # features/step_definitions/user_steps.rb:180
    And I should be signed out            # features/step_definitions/user_steps.rb:142
      undefined method `flatten' for nil:NilClass (NoMethodError)
      /home/mark/.rvm/gems/ruby-1.9.3-p392@global/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/database_statements.rb:348:in `rollback_transaction_records'
      /home/mark/.rvm/gems/ruby-1.9.3-p392@global/gems/database_cleaner-1.0.0.RC1/lib/database_cleaner/active_record/transaction.rb:36:in `clean'
      /home/mark/.rvm/gems/ruby-1.9.3-p392@global/gems/database_cleaner-1.0.0.RC1/lib/database_cleaner/base.rb:77:in `clean'
      /home/mark/.rvm/gems/ruby-1.9.3-p392@global/gems/database_cleaner-1.0.0.RC1/lib/database_cleaner/configuration.rb:79:in `block in clean'
      /home/mark/.rvm/gems/ruby-1.9.3-p392@global/gems/database_cleaner-1.0.0.RC1/lib/database_cleaner/configuration.rb:79:in `each'
      /home/mark/.rvm/gems/ruby-1.9.3-p392@global/gems/database_cleaner-1.0.0.RC1/lib/database_cleaner/configuration.rb:79:in `clean'
      /home/mark/.rvm/gems/ruby-1.9.3-p392@global/gems/cucumber-rails-1.3.1/lib/cucumber/rails/hooks/database_cleaner.rb:9:in `After'

My versions:

$ bundle exec cucumber --version
1.2.3
$ bundle exec rails -v
Rails 3.2.13
$ bundle exec ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [i686-linux]