我正在尝试启动并运行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
任何提示?
答案 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
回去工作; - )