FAYDALARI • BUG FREE geliştirme • Hızlı geliştirme • Dökümantasyon yazma zahmetinden kurtarıyor • Sürdürülebilir kod yazma • Uçtan uca uygulamayı görmek • Deployment otomasyonunda kolaylık • Test Coverage
DEZAVANTAJLARI • Legacy code'a entegre etmek sorun olabilir • Test'lerin maintenance işi ve test süresi • "Quick Edit" mini değişimler için zor • False Positives • Edge Case'leri mutlaka tamamlamak gerek
it "allows setting these responses" do fake_person = double("Person") allow(fake_person).to receive_messages(:full_name => "Uğur Özyılmazel") expect(fake_person.full_name).to eq("Uğur Özyılmazel") end it "stubs desired year on a real Time object" do time = Time.new.now allow(time).to receive(:year).and_return(1972) expect(time.year).to eq(1975) end