从Rspec运行以下代码 - 控制器后,我从get
方法
it "assigns @MyItems" do
my_item = mock(:mypay_items)
my_item = mock( MyItem)
MyItem.should_receive(:all).and_return(my)
get 'index'
assigns[:my_items].should eql(my_items)
response.should be_success
end
导致错误:
undefined method `get' for #<RSpec::Core::ExampleGroup::Nested_1:0x34b6ae0>
答案 0 :(得分:6)
您似乎没有正确地将规范声明为控制器规范,这导致HTTP请求方法(get
,post
等)无法使用。确保在规范的顶部,您有类似的内容:
describe PostsController do
...
end
将PostsController
替换为您的控制器名称。如果这不起作用,请添加:type => :controller
:
describe PostsController, :type => :controller do
...
end
另见答案:undefined method `get' for #<RSpec::Core::ExampleGroup::Nested_1:0x00000106db51f8>
答案 1 :(得分:4)
如果您使用的是“规格/功能”,则可能需要在“spec_helper.rb”中添加以下内容
config.include RSpec::Rails::RequestExampleGroup, type: :feature
答案 2 :(得分:2)
我遇到了同样的问题,而且对我有用的解决方案是添加require&#rs; / rails&#39;到我的spec_helper文件。我的所有控制器都已正确设置并添加:type =&gt;控制器没有帮助。