将Rspec与Factory Girl一起使用。试图检查我的控制器中分配了哪些数据(并对其进行测试)。我读过的每篇文章都说我应该能够从assigns()中得到一些东西但是它一直在返回nill
控制器
def index
@stickies = Sticky.where(:user_id => current_user.id)
end
规格
it "should assign stickies" do
foo = assigns(:stickies)
puts "foo = #{foo}"
end
输出
foo =
我使用了错误的语法吗?有一个更好的方法吗?谢谢!
答案 0 :(得分:88)
您必须先调用操作
describe StickiesController do
describe "GET index" do
it "should assign stickies" do
get :index
assigns(:stickies).should_not be_nil
end
end
end
答案 1 :(得分:14)
如果您使用的是rspec> 2.99你可以使用:
expect(assigns(:stickies)).not_to be_nil