𝟯 𝗦𝗲𝘆 𝗞𝗶𝗺𝘀𝗲 𝗦𝗶𝘇𝗲 𝗦ö𝘆𝗹𝗲𝗺𝗲𝘇

Cucumber test paketinizin çalışması kırk dakika sürüyor. Tek bir feature dosyasının neyi test ettiğini, katmanlar dolusu kodu okumadan açıklayamıyorsunuz.

Birçok ekip, iş paydaşlarının testleri okuması gerektiği için BDD'yi benimsiyor. Sonra, o paydaşlar okumayı bırakıyor. Sonuçta elinizde bir bakım kabusu kalıyor.

İşte BDD hakkında üç gerçek.

𝟭. 𝗚𝗵𝗲𝗿𝗸𝗶𝗻 𝗯𝗶𝗿 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗹𝗮𝗺𝗮 𝗱𝗶𝗹𝗶 𝗱𝗲ğ𝗶𝗹

Gherkin ile test senaryoları yazmayı bırakın. Eğer senaryolarınız her tıklamayı ve her alanı listeliyorsa, bunu yanlış yapıyorsunuz demektir.

Kötü Gherkin:

  • Given kullanıcı "test@example.com" e-postasını girer
  • And kullanıcı "Password123!" şifresini girer
  • And kullanıcı "Siparişi Ver" butonuna tıklar

İyi Gherkin:

  • Given kullanıcının satın almaya hazır ürünleri vardır
  • When kullanıcı geçerli bir kredi kartı ile ödeme yapar
  • Then sipariş onaylanır

"Nasıl" kısmı step definition'larınızda yaşar. "Ne" kısmı ise feature dosyalarınızda yaşar. Feature dosyalarınızı basit tutun ki bir ürün yöneticisi onları saniyeler içinde okuyabilsin.

𝟮. 𝗦𝘁𝗲𝗽 𝗱𝗲𝗳𝗶𝗻𝗶𝘁𝗶𝗼𝗻𝘀 𝗯𝗶𝗿 𝗯𝗮ğı𝗺𝗹ı𝗹ı𝗸 𝗴𝗿𝗮𝗳𝗶ğ𝗶 𝗱𝗲ğ𝗶𝗹

Step definition'ların diğer step definition'ları import etmesine izin vermeyin. Bu, karmaşık bir ağ oluşturur. Eğer bir adım başarısız olursa, tüm durumu (state) bozar.

Çözüm basit:

  • Page object'lerinizi step definition'larınızdan ayırın.
  • Ortak bir domain katmanı kullanın.
  • Step definition'lar, domain nesnelerini çağıran ince sarmalayıcılar (thin wrappers) olmalıdır.

Bu, adımlarınızı stateless hale

Kaynak: https://dev.to/qawalah/3-things-nobody-tells-you-about-bdd-before-your-cucumber-suite-becomes-a-maintenance-nightmare-9c7

İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi