这行代码有什么作用?
assigns(:articles).should eq([article])
在以下rspec中
describe "GET #index" do
it "populates an array of articles" do
article = Factory(:article)
get :index
assigns(:articles).should eq([article])
end
it "renders the :index view" do
get :index
response.should render_template :index
end
end
答案 0 :(得分:16)
assigns
与在控制器操作中创建的实例变量相关(并分配给视图)。
在评论中回答你的评论,我想:
1)您的索引操作看起来像@articles = Articles.all
(我希望您使用分页)
2)在上面的spec块之前,你有一篇在db中创建的文章(或者我希望你在db中存根db查询)
1 + 2 => @articles
应该包含一篇文章,这是您的规范期望