我有一个application_controller规范失败,因为我从routes.rb中删除了控制器/动作路由。我收到以下错误:
No route matches {:controller=>"application", :action=>"index"}
我有很多测试以同样的方式失败,但能够通过在get调用中包含正确的参数来修复它们。例如,如果我想在我的规范中获得帖子的标准节目路线,我不得不改变
get :show to get :show, :id => '1'
不幸的是,我现在不确定应用程序控制器规范要传递什么。我在下面列出了我的测试。
describe ApplicationController do
it "should find the latest published posts and assign them for the view" do
Post.should_receive(:latest).and_return(@posts)
get :index
assigns[:posts].should == @posts
end
it "should find the latest approved comments and assign them for the view" do
Comment.should_receive(:latest).and_return(@comments)
get :index
assigns[:comments].should == @comments
end
end
答案 0 :(得分:0)
将ApplicationController视为不打算用于请求的抽象类。生成的所有新控制器都将继承自ApplicationController,因此它是放置共享行为的好地方。