【问题标题】:uninitialized constant ApplicationRecord rspec未初始化的常量 ApplicationRecord rspec
【发布时间】:2019-11-11 08:36:01
【问题描述】:

1) 创建了一个名为Skill的模型

2) 跑了一些种子

3) 跑了rspec --init

4) 使用以下代码创建文件skill_spec.rb

require_relative "../app/models/skill"

describe Skill do
  describe "database" do
    it "should have 42 skills" do
      expect(Skill.all.count).to eq(42)
    end
  end
end

5) 当我在控制台中运行rspec 时出现错误:

失败/错误:类技能

我已经有一个文件application_record.rb,代码如下

class ApplicationRecord < ActiveRecord::Base
  self.abstract_class = true
end

【问题讨论】:

  • 你应该不需要添加require_relative "../app/models/skill"
  • 添加require 'spec_helper'
  • 删除第一行,添加require 'spec_helper',现在报错如下:An error occurred while loading ./spec/skill_spec.rb. Failure/Error: describe Skill do describe "database" do it "should have 42 skills" do expect(Skill.all.count).to eq(42) end end end NameError: uninitialized constant Skill

标签: ruby-on-rails activerecord rspec


【解决方案1】:

对于 Rails 规范,在每个规范文件的开头使用 require 'rails-helper'(它由 bin/rails generate rspec:installrspec-rails gem 生成)

它包含行 require File.expand_path('../config/environment', __dir__) 将加载您的 rails 环境,您将拥有自动加载和所有其他 rails 部件的工作。

【讨论】:

    猜你喜欢
    • 2016-11-14
    • 2019-09-15
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    相关资源
    最近更新 更多