Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cucumber could not find table; but it's there. What is going on?

I'm working with cucumber and I'm running into difficulties. When I run "cucumber features", I am met with errors, cucumber is unable to find my requests table. What obvious mistake am I making?

Thank you in advance!

Bash:

justin-zollarss-mac-pro:conversion justinz$ cucumber features
Using the default profile...
/Users/justinz/.gem/ruby/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010.  Use #requirement
F--

(::) failed steps (::)

Could not find table 'requests' (ActiveRecord::StatementInvalid)
./features/article_steps.rb:3
./features/article_steps.rb:2:in `each'
./features/article_steps.rb:2:in `/^I have requests named (.+)$/'
features/manage_articles.feature:7:in `Given I have requests named Foo, Bar'

Failing Scenarios:
cucumber features/manage_articles.feature:6 # Scenario: Conversion

1 scenario (1 failed)
3 steps (1 failed, 2 skipped)
0m0.154s
justin-zollarss-mac-pro:conversion justinz$ 

Manage_articles.feature:

Feature: Manage Articles
    In order to make sales
    As a customer
    I want to make conversions

Scenario: Conversion
    Given I have requests named Foo, Bar
    When I go to the list of customers
    Then I should see a new "customer"

Article_steps.rb:

Given /^I have requests named (.+)$/ do |firsts|
   firsts.split(', ').each do |first|
      Request.create!(:first => first)
  pending # express the regexp above with the code you wish you had
end
end


Then /^I should see a new "([^"]*)"$/ do |arg1|
  pending # express the regexp above with the code you wish you had
end

DB schema:

ActiveRecord::Schema.define(:version => 20100528011731) do

  create_table "requests", :force => true do |t|
    t.string   "institution"
    t.string   "website"
    t.string   "type"
    t.string   "users"
    t.string   "first"
    t.string   "last"
    t.string   "jobtitle"
    t.string   "phone"
    t.string   "email"
    t.datetime "created_at"
    t.datetime "updated_at"
  end end
like image 456
JZ. Avatar asked Dec 29 '22 14:12

JZ.


1 Answers

Have you run your migrations in the test/cucumber environment?

like image 80
Toby Hede Avatar answered Feb 01 '23 22:02

Toby Hede