Rspec:testing实例variables的赋值

与工厂女孩一起使用Rspec。 尝试检查在我的控制器中分配了什么数据(并对其进行testing)。 我读过的每篇文章都说我应该能够从assigns()中获得一些东西,但是它一直在返回

调节器

def index @stickies = Sticky.where(:user_id => current_user.id) end 

规格

 it "should assign stickies" do foo = assigns(:stickies) puts "foo = #{foo}" end 

产量

 foo = 

我使用错误的语法? 有一个更好的方法吗? 谢谢!!

您必须首先调用该操作

 describe StickiesController do describe "GET index" do it "should assign stickies" do get :index assigns(:stickies).should_not be_nil end end end 

如果您使用rspec> 2.99,则可以使用:

expect(assigns(:stickies)).not_to be_nil