Ruby on rails 为什么赢了';我的rails规范不能运行吗?

Ruby on rails 为什么赢了';我的rails规范不能运行吗?,ruby-on-rails,rspec,Ruby On Rails,Rspec,当我尝试运行我的规范时,我得到一个未初始化的常量错误。我的规格如下所示: 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\u s

当我尝试运行我的规范时,我得到一个未初始化的常量错误。我的规格如下所示:

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\u spec.rb:1:in`:未初始化的常量facility(NameError)


我当然有一个设施模型,所以我不确定为什么会发生这种情况。

在文件顶部添加以下内容:

require 'spec_helper'

您应该尝试运行
rake spec
,而不是
rspec spec
。 但两者都可能奏效

如果不工作,请尝试
bundle exec rspec spec
bundle exec rake spec


来源:。

如果您正在使用“rspec rails”gem,请运行

rails g rspec:install

这将创建
spec/spec\u helper.rb
文件(如果未使用ActiveRecord,则应编辑该文件,以便它正确运行spec安装程序)

之后,请确保在等级库文件的顶部需要辅助对象:

需要“spec\u helper”

如果这对您不起作用,可能会出现以下问题:

  • 您正在尝试测试lib/目录下的文件。在这种情况下,, 确保此文件与环境一起加载 (config/application.rb->autoload_路径)或显式要求它
  • 这个常数实际上并不存在。它可能在名称空间中,也可能只是一个输入错误

  • 在spec文件中,需要定义了
    设施
    类的文件。

    是否正在运行“rspec spec”命令?哪种rails版本?你能在GEM文件中添加rspec的行吗?@Danpe哇……谢谢。我只是在做
    rspec