Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用RSpec 2和edge Rails 3进行控制器测试_Rspec_Ruby On Rails 3 - Fatal编程技术网

Can';t使用RSpec 2和edge Rails 3进行控制器测试

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

不确定这是Rails 3的问题还是RSpec 2的问题,但我似乎无法让标准控制器测试正常工作-似乎找不到“get”方法

我有一个控制器测试,看起来像这样(在
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