Ruby On Rails Rspec需要冲突

时间:2014-08-12 12:26:46

标签: ruby-on-rails ruby rspec

以下是我的问题我已经安装了Rspec启动了一个项目,每次我想要测试一些必须require_relative它现在这不是问题,直到我想最终测试我的控制器并且不能似乎让函数getpost经常出现undefined function错误。

如果我把我的控制器放在这个

RSpec.describe ApplicationController, :type => :controller do

end

我收到uninitialized constant ApplicationController (NameError)如果我需要相关应用程序控制器require_relative '../../app/controllers/application_controller'我得到uninitialized constant ActionController (NameError)

似乎无法捕捉到问题的所在,我的Gemfile也是

gem "rspec-rails", :group => [:test, :development]
gem "rspec", :group => [:test, :development]
group :test do
  gem "capybara"
  gem "factory_girl_rails"
end

我一直在浏览互联网2个小时现在至少看了10个其他stackoverflow问题尝试了一切,但似乎没有任何工作......

无处不在,我检查他们说我只需要添加require 'spec_helper',它应该可以工作但不是。

如果需要,我也可以复制我的rails_helper文件,但是当我运行rails generate rspec:install时,我可以复制它的标准。

非常感谢您的帮助我真的需要解决这个问题,因为我的时间不多了。

1 个答案:

答案 0 :(得分:2)

从rspec-rails 3开始,自动生成的spec_helper.rb分为两部分:spec_helper.rb和rails_helper.rb

这个想法是你可以拥有不需要加载rails的规范(因此加载速度快)以及需要加载rails的规范

对于需要加载rails的那些,就像你需要的控制器规范一样

require 'rails_helper'

在顶部,而不是要求spec_helper。