8 Ekim 2013 Salı

RSpec ve TDD

Derslere baslamadan once bazi konular hakkinda simdiye kadar ogrendiklerimi sizinle paylasirsam benim gibi zorluk cekmezsiniz diye dusunuyorum. Yani RSpec nedir bilmeden TDD olayini anlamadan baliklama konuya atlamak bazilarimiza biraz karisik gelebiliyor. 

TDD

Once Test Driven Development kavrami ile baslayalim. RSpec 2005 yilinda Steven Baker tarafindan olusturulmus. Bu kavramla benim gibi yeni karsilasanlariniz icin once tanimi vereyim. Temelde once testleri yazip, sonra bu testlerden basari ile gecek kodlari yazmak diyebiliriz. (size de ters geldi mi ?) 

Once basit bir test yaziyoruz, testi calistiriyoruz ve dogal olarak test basarisiz oluyor. Sonra bu testin sonucunu dogru dondurecek kod parcasini yaziyoruz (ama fazlasini degil) sonra testi tekrarliyoruz ve bu sekilde kod sekilleniyor. Kodlar arttikca tekrarlanan bolumleri sadelestiriyoruz (method'lar yaparak) ve sonucta yazilan kodlar temel test asamasini gecmis olarak doguyor. 

BDD

Behaviour Driven Development ise bir sonraki adim gibi. Yani bu sefer kucuk parcalardan bir buyugune yani modul boyutundaki butun parcalari test ediyoruz. Bu testler bir bakima programci ile is sahibinin arasindaki tercuman gibi calisiyorlar.  Kullanilan dil konusma dili (ama Ingilizce) 
Given
When 
Then 
yapisinda yazilan cumlelerin test'e tabi olmasi ile calisiyor. 
 
BDD'ye daha sonra tekrar donecegim. Simdi basliga sadik kalarak TDD konusuna donelim. 

RSpec 

Asagida bir test blogu ornegi bulacaksiniz. 

describe MovieList do
   context "when first created" do
      it "is empty" do
         movie_list = MovieList.new
         movie_list.should be_empty
      end
   end
end

Test sonucunda yazan yazi su sekilde olacaktir

MovieList when first created is empty
 
Neyin nereden geldigini renkler ile vermeye calistim.

Eger test blogunda pending varsa sistem testi yapmayi pas geciyor. 

Bu yaziya devam edecegim ... 



Hiç yorum yok:

Yorum Gönder