从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
Run Code Online (Sandbox Code Playgroud)
它会导致错误:
undefined method `get' for #<RSpec::Core::ExampleGroup::Nested_1:0x34b6ae0>
Run Code Online (Sandbox Code Playgroud)
这似乎是你没有正确地宣布你的规范作为控制器的规格,这会导致HTTP请求方法(get,post等)不可用.确保在规范的顶部,您有以下内容:
describe PostsController do
...
end
Run Code Online (Sandbox Code Playgroud)
替换PostsController为控制器的名称.如果这不起作用,请添加:type => :controller:
describe PostsController, :type => :controller do
...
end
Run Code Online (Sandbox Code Playgroud)
另见这个答案:未定义的方法`get'for#<RSpec :: Core :: ExampleGroup :: Nested_1:0x00000106db51f8>
| 归档时间: |
|
| 查看次数: |
4458 次 |
| 最近记录: |