我试图在Rails应用程序上使用Rsec测试一些非常简单的东西.
这是spec / controllers / movies_controller_spec.rb中的测试代码段
describe MoviesController do describe 'update' do it 'should call the model method to look up the movie to update' do Movie.should_receive(:find).with("3") put :update,{:id => "3"} end end
这是controllers / movies_controller.rb中的控制器方法:
def update Movie.find(params[:id]) end
我遇到了这个问题:
1) MoviesController update should call the model method to look up the movie to update Failure/Error: post :update,{:id => "3"} ActionView::MissingTemplate: Missing template movies/update,application/update with {:handlers=>[:erb,:builder,:coffee,:haml],:formats=>[:html],:locale=>[:en,:en]}. Searched in: * "#<RSpec::Rails::VieWrendering::EmptyTemplatePathSetDecorator:0xa65b300>" # ./spec/controllers/movies_controller_spec.rb:8:in `block (3 levels) in <top (required)>'
我的路线看起来像:
movies GET /movies(.:format) {:action=>"index",:controller=>"movies"} POST /movies(.:format) {:action=>"create",:controller=>"movies"} new_movie GET /movies/new(.:format) {:action=>"new",:controller=>"movies"} edit_movie GET /movies/:id/edit(.:format) {:action=>"edit",:controller=>"movies"} movie GET /movies/:id(.:format) {:action=>"show",:controller=>"movies"} PUT /movies/:id(.:format) {:action=>"update",:controller=>"movies"} DELETE /movies/:id(.:format) {:action=>"destroy",:controller=>"movies"}
谁能帮助我,告诉我在这么简单的例子中我到底做错了什么?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。