Rspec无法与Rails3,FactoryGirl一起正常工作

时间:2011-08-21 10:58:45

标签: ruby-on-rails ruby-on-rails-3 rspec

我正在尝试启动并运行Rspec,但在从命令行调用rspec spec时遇到以下问题:

Failure/Error: Unable to find matching line from backtrace
     undefined method `request=' for #<Name:0x000001033c1be0>

这似乎是某些宝石组合的问题,但我无法弄清楚我的设置有什么问题:

这是:

rails -v
Rails 3.0.9
ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0]
rvm -v
rvm 1.6.2

My Gemfile看起来像这样(我跳过不相关的宝石):

group :development, :test do
 gem 'factory_girl_rails'
 gem 'rspec-rails', '~> 2.6'
 gem 'webrat'
end

增加:

我在spec_helper.rb中添加了以下行,以修复here所描述的错误。

config.include RSpec::Rails::ControllerExampleGroup

任何提示?

1 个答案:

答案 0 :(得分:1)

同时我解决了这个问题。

当我设置第一个控制器测试时出现上述问题。

describe MyController do
  describe "#index" do
    it "responses successfully" do
      get :index
      response.should be_success
    end
  end
end

为了解决这个问题,我不得不将上面提到的行从spec_helper直接移到ControllerSpec中。

describe MyController do
  include RSpec::Rails::ControllerExampleGroup

  describe "#index" do
    it "responses successfully" do
      get :index
      response.should be_success
    end
  end
end

回去工作; - )