ruby-on-rails - RSpec 错误 : test couldn't find table

标签 ruby-on-rails testing rspec bdd rspec-rails

我正在尝试使用 Rspec 测试 Controller 的这一部分:

@supercar = Supercar.find(params[:id])

这是我用于测试上述部分的 Controller 规范:

before (:each) do
  @supercar = Factory :supercar
end

describe "show" do

  it "assigns the requested supercar to the @supercar" do
    get :show, :id => @supercar.id
    assigns(:supercar).should == @supercar
  end
...

但是,我尝试运行命令 rake db:migrate,但仍然出现此错误:

Failure/Error: @supercar = Factory :supercar
     ActiveRecord::StatementInvalid:
       Could not find table 'supercar'

最佳答案

解决方案是运行这个命令:

rake db:test:prepare

它正在准备测试数据库,通过在那里加载方案。

关于ruby-on-rails - RSpec 错误 : test couldn't find table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19884017/

相关文章:

ruby-on-rails - 使用 ckeditor 附加文​​件(缺少附件和嵌入插件)

mysql - 如果修改了源则更新表

javascript - Ruby on Rails 和 Masonry 问题

ruby-on-rails - FactoryGirl错误: "Email has already been taken."

ruby-on-rails - 使用 capybara rspec 和工厂女孩测试设计

mysql - 用于 Restful API 的 Rails 或 node.js

testing - Rspec 测试布局

Python Django REST API 测试

ruby-on-rails - Controller 测试和 stub 过滤器/操作。指导方针是什么?

ruby-on-rails-3 - Rails 3 rspec + capybara - current_path 为零?