2011-05-25 5 views
8

Bu kod kümesini hesaba katmak isterim ki tüm denetleyici testlerim (iyi, hemen hepsi) bu before(:each) bloğunu kullanır:Çok özellikli özelliklerin kullanabilmesi için, RSpec'deki "before (: each)" çağrıları nasıl yaygınlaştırıyorsunuz?

before(:each) do 
    @user = User.new 
    controller.stub(:authenticate_user!) 
    controller.stub(:current_user).and_return(@user) 
    controller.stub(:add_secure_model_data) 
end 

Bunu yapmanın bir yolu var mı? Tüm denetleyicilere dahil etmek istemiyorum ... çünkü buna ihtiyaç duymayan birkaç tane var. Temel olarak, SecureController'den uzanan her denetleyici bu before(:each) bloğuna ihtiyaç duyacaktır.

Bunu yapmak için iyi bir yolu var mı?

Teşekkürler

cevap

1

Yani bu işlevi istemiyoruz SecureController spesifik çocuk varsa, başka bir ara üst sınıf yapabilir veya şartlı ile yöntem çağrısı sarabilirdiniz SecureController.

içine blok koymak sen kontrol. İnşaat büyük);

İlgili konular