2010-06-14 109 views
4

我正在和黄瓜一起工作,我遇到了困难。当我运行“黄瓜功能”时,遇到错误,黄瓜无法找到我的请求表。我犯了什么明显的错误?黄瓜找不到桌子;但它在那里。到底是怎么回事?

预先感谢您!

击:

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模式:

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 

回答

10

有你的测试/黄瓜环境中运行迁移?

+0

这么明显!谢谢。 – 2010-06-14 04:41:49

+0

事实上,为了使您的环境适当,您可以考虑通过重新运行迁移来清除每个黄瓜运行时的数据库。ActiveRecord :: Migrator.migrate('db/migrate /') – 2012-03-18 12:42:54

相关问题