Can';t使用RSpec 2和edge Rails 3进行控制器测试
不确定这是Rails 3的问题还是RSpec 2的问题,但我似乎无法让标准控制器测试正常工作-似乎找不到“get”方法 我有一个控制器测试,看起来像这样(在Can';t使用RSpec 2和edge Rails 3进行控制器测试,rspec,ruby-on-rails-3,Rspec,Ruby On Rails 3,不确定这是Rails 3的问题还是RSpec 2的问题,但我似乎无法让标准控制器测试正常工作-似乎找不到“get”方法 我有一个控制器测试,看起来像这样(在spec/controllers目录中名为contractions\u controller\u spec.rb): (是的,我知道使用HTTP/GET修改数据的安全性影响-这是一个单独的问题…) 当我使用rake运行它时,我得到以下错误: 1) DiscrepanciesController resolves a discrepanc
spec/controllers
目录中名为contractions\u controller\u spec.rb
):
(是的,我知道使用HTTP/GET修改数据的安全性影响-这是一个单独的问题…)
当我使用rake运行它时,我得到以下错误:
1) DiscrepanciesController resolves a discrepanc
Failure/Error: Unable to find C to read failed line
undefined method `get' for #<RSpec::Core::ExampleGroup::Nested_1:0xc9170d0 @__memoized={}>
# ./spec/controllers/discrepancies_controller_spec.rb:38 (ignore the line number, commented out code was removed from the sample)
# C:/Users/Patrick_Gannon/.bundle/ruby/1.8/bundler/gems/rails-16a5e918a06649ffac24fd5873b875daf66212ad-master/activesupport/lib/active_support/dependencies.rb:212:in `inject'
# C:/Ruby187/bin/rake:19:in `load'
# C:/Ruby187/bin/rake:19
从David Chelimsky的RSpec邮件列表中获得了以下答案: 我很惊讶这是第一次出现rspec-2,但现在我们做到了:) 这是一个路径分隔错误,我将在下一版本中解决。目前,您可以在控制器规格中执行此操作:
describe DiscrepanciesController do
include RSpec::Rails::ControllerExampleGroup
这应该行得通
如果要进行更全局的变通,请将此添加到spec\u helper配置中:
RSpec.configure do |c|
c.include RSpec::Rails::ControllerExampleGroup, :example_group => { :file_path => /\bspec[\\\/]controllers[\\\/]/ }
end
describe DiscrepanciesController do
include RSpec::Rails::ControllerExampleGroup
RSpec.configure do |c|
c.include RSpec::Rails::ControllerExampleGroup, :example_group => { :file_path => /\bspec[\\\/]controllers[\\\/]/ }
end