簡體   English   中英

為什么我的 Rails 規范不能運行?

[英]Why won't my rails spec run?

當我嘗試運行規范時,出現未初始化的常量錯誤。 我的規格是這樣的:

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)

我當然有一個設施模型,所以我不確定為什么會發生這種情況。

您應該嘗試運行rake spec而不是rspec spec 但兩者都可能有效。

如果不起作用,請嘗試嘗試bundle exec rspec specbundle exec rake spec

來源: 嘗試運行 rspec 時,我得到 uninitialized constant

在文件頂部添加以下內容:

require 'spec_helper'

如果您使用的是 'rspec-rails' gem,則運行

rails g rspec:install

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

之后,確保您需要規范文件頂部的幫助程序:

require 'spec_helper'

如果這對您不起作用,則可能存在更多問題,例如:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM