繁体   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