1
我想給測試控制器的這部分使用RSpec:RSpec的錯誤:測試找不到表
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
...
:
@supercar = Supercar.find(params[:id])
上文提到我的控制器規格測試部分不過,我試圖運行命令rake db:migrate
,但仍收到此錯誤:
Failure/Error: @supercar = Factory :supercar
ActiveRecord::StatementInvalid:
Could not find table 'supercar'
我很驚訝它不是在尋找表'超級跑車'。你有沒有在Supercar Model上設置表名? –
工廠調用不應該看起來像'Factory.create(:supercar)' - 這看起來像舊的FactoryGirl語法。我習慣於看到更像'@car = FactoryGirl.create(:supercar)' –
的東西請確保您已正確設置測試數據庫:在rake db:migrate後運行rake db:test:clone –