2012-10-18 28 views
2

當我嘗試運行我的規範時,出現未初始化的常量錯誤。我的規格如下所示:爲什麼我的rails規格不能運行?

describe Facility do 
    it { should have_many(:units) } 
    it { should have_many(:facilities_users) } 
    it { should have_many(:administrators) } 
    it { should have_many(:facility_employees) } 
end 

的錯誤是: facility_spec.rb:1:in `<top (required)>': uninitialized constant Facility (NameError)

我肯定有設施模型,所以我不知道爲什麼會發生這種事。

+1

你正在運行'rspec spec'命令嗎?和哪個rails版本?你可以添加你添加rspec的行到你的Gemfile嗎? – Danpe

+0

@Danpe Whoops ...謝謝。我只是在做'''rspec''' – Bholzer

+1

所以它解決了? – Danpe

回答

0

添加以下你的文件的頂部:

require 'spec_helper' 
0

如果您使用的是「RSpec的護欄」的寶石,然後運行

rails g rspec:install

這將創建spec/spec_helper.rb文件(你應該如果你所以它運行你不使用ActiveRecord編輯規格設置正確)。

之後,確保您在您的規範文件的頂部需要幫手:

require 'spec_helper'

如果這不是爲你工作,有可能會像更多的問題:

  1. 您正試圖在lib /目錄下測試一個文件。在這種情況下, 確保此文件已加載到環境 (config/application.rb - > autoload_paths)或明確要求它。
  2. 該常量實際上不存在。它可能在命名空間內,或者只是一個錯字。
0

在spec文件中,需要Facility類定義的文件。

相關問題