RSpec无法看到Rails模型

时间:2014-10-07 16:45:57

标签: ruby-on-rails-4 rspec

我有RSpec规范:

require 'spec_helper'
describe 'session_project' do
  before(:each) do
    @user = User.create(
        username: 'user',
        password: 'test',
        password_confirmation: 'test',
        email: 'user@example.com'
    )
    @project = Project.create(name: 'Project 1', active: true, user_id: @user.id)
  end
  context 'when I am on the project page for Project 1' do
    it 'knows the current project is Project 1' do
      pending
    end
  end
end
# and so on.

UserProject当然是模型 - 我想测试当前项目是否在适当的时间保存到会话中并从会话中清除。当我运行RSpec时,它会抱怨:

Failure/Error: @user = User.create(
NameError:
uninitialized constant User

如果我将User.create剪切并粘贴到rails控制台中,那么就可以很好地创建用户。

之前已经询问类似问题的人只需添加require 'spec_helper',但我已经这样做了。那么如何让Rails模型可用于RSpec?

1 个答案:

答案 0 :(得分:1)

如果您希望加载Rails类,则在RSpec 3.x下需要rails_helper

https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files