What does assigns mean in rspec

bdd, rspec, ruby-on-rails

Solution

`assigns` relates to the instance variables created within a controller action (and assigned to the view).

to answer your remark in comments, I guess that:

1) your index action looks like `@articles = Articles.all` (I hope you use pagination though)

2) prior to the spec block above, you have one article created in db (or I hope you stub db queries in db)

1 + 2 => `@articles` should contain one article, that's your spec expectation

Problem

What does that line of code do? ``` assigns(:articles).should eq([article]) ``` in the following 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 ```

Original source