2015-08-16 14 views
7

Yazmadığım ve RSpec'in nasıl çalıştığını anlamaya çalıştığım kod üzerinde çalışıyorum.Rampa raylarında atama ne yapar?

let(:course) { create :new_course } 
before { assign :course, course } 

let'un belleğe alınmış bir değişken oluşturduğunu biliyorum. Bu örnekte assign ne yapar?

+1

şablon örneği değişkenleri içeren bir karma olan assigns' 'ile karıştırılmamalıdır değil. Örneğin, test kurulumu adımında 'atama'yı ve test doğrulama adımında 'atamaları' kullanabilirsiniz. – Dennis

cevap

8

Size özel bir bakış açısıyla bakmanız gerekir. Bir rspec-ray görünümünde, assign, ikinci argümanını ilk argüman tarafından adlandırılan şablon örneği değişkenine atar. Örneğinizde, assign :course, course şablonda @course ayarlarını course değerine ayarlar. Burada

Daha: https://www.relishapp.com/rspec/rspec-rails/v/3-3/docs/view-specs/view-spec