为什么我的导轨规格不会运行?
当我尝试运行我的规范时,我得到一个未初始化的常量错误。 我的规格看起来像这样:
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 `': uninitialized constant Facility (NameError)
我当然有一个Facility模型,所以我不确定为什么会这样。
您应该尝试运行rake spec
而不是rspec spec
。 但两者都可行。
如果不能正常工作,请尝试使用bundle exec rspec spec
或bundle exec rake spec
。
来源: 当尝试运行rspec时,我得到未初始化的常量 。
在文件顶部添加以下内容:
require 'spec_helper'
如果您使用’rspec-rails’gem,那么运行
rails g rspec:install
这将创建spec/spec_helper.rb
文件(如果您没有使用ActiveRecord,则应编辑它,以便正确运行规范设置)。
之后,确保您需要spec文件顶部的帮助程序:
require 'spec_helper'
如果这对您不起作用,可能会出现更多问题,例如:
- 您正在尝试在lib /目录下测试文件。 在这种情况下,请确保此文件已加载环境(config / application.rb – > autoload_paths)或明确要求它。
- 该常数实际上不存在。 它可能在命名空间内或只是一个错字。
在spec文件中,需要定义Facility
类的文件。