2013-04-21 19 views
8

Co robi ta linia kodu?Co oznacza przypisanie w rspec

assigns(:articles).should eq([article]) 

w następujący 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 

Odpowiedz

9

assigns dotyczy zmiennych przykład utworzonych w działań sterownika (przypisanych do widoku).


odpowiedzieć swoją uwagę w komentarzach, chyba że:

  • 1) Twój działanie indeksu wygląda @articles = Articles.all (mam nadzieję użyć paginacja choć)

  • 2) przed powyższy blok specyfikacji, masz jeden artykuł utworzony w db (lub mam nadzieję, że zapytania db w db)

  • 1 + 2 =>@articles s hould zawierać jeden artykuł, to twój Spec oczekiwanie

+0

ja po prostu nie rozumiem, jak to wypełnia szereg artykułów oraz w jaki sposób sprawdzić, że działa –

+0

odpowiedź edytowany powyżej – apneadiving