Gherkin Dili: Sözdizimi, Biçim ve Örnekler
⚡ Akıllı Özet
Gherkin, yazılım davranışını uygulama ayrıntılarına girmeden tanımlayan, iş dünyası tarafından okunabilir bir dildir. Tanımlama için Given, When ve Then anahtar kelimelerini kullanır. Cucumber Test senaryolarını sade bir dille ifade etmek, canlı dokümantasyon görevi görmekte ve otomatikleştirilmiş BDD testlerinin iskeletini oluşturmaktadır.

Kornişon Dili Nedir?
salatalık İş süreçlerinde okunabilir bir dil olup, uygulama detaylarına girmeden iş davranışlarını tanımlamanıza yardımcı olur. Testleri tanımlamak için kullanılan, alana özgü bir dildir. Cucumber Bu format, kullanım durumlarını açıklamak için sade bir dil kullanır ve kullanıcıların davranış testlerinden mantık ayrıntılarını kaldırmasına olanak tanır.
Gherkin'deki metin, dokümantasyon görevi görür ve otomatik testlerinizin iskeletini oluşturur. Gherkin formatı, 37'den fazla dilde mevcut olan TreeTop Gramerine dayanmaktadır, bu nedenle Gherkin'i 37'den fazla konuşulan dilde yazabilirsiniz. Bu betik iki temel amaca hizmet eder: kullanıcı senaryolarını belgeler ve otomatik BDD testleri yazmak için temel oluşturur.
Neden Kornişon?
Ortak, sade bir dil formatı olmadan, iş ve teknik ekipler gereksinimleri farklı şekillerde tanımlar ve bu da yanlış anlaşılmalara yol açar. Gherkin, herkese sıradan İngilizce gibi okunan ancak doğrudan yürütülebilir testlere karşılık gelen tek, yapılandırılmış bir kelime dağarcığı sunar.
Kornişon Sözdizimi
Gherkin, YAML gibi satır odaklı bir dildir. PythonHer satır bir adım olarak adlandırılır ve bir anahtar kelimeyle başlar. Girinti için sekmeler veya boşluklar kullanılır. Herhangi bir yere yorum eklenebilir, ancak # işaretiyle başlamalıdır. Yorumlayıcı, Given, When ve Then gibi Gherkin anahtar kelimelerini çıkardıktan sonra her satırı okur.
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
Gherkin belgeleri .feature uzantısına sahiptir ve açıklayıcı bir uzantıya sahip basit bir test dosyasıdır. Cucumber Gherkin belgesini okur ve yazılımın Gherkin sözdiziminde tanımlandığı gibi davrandığını doğrulamak için bir test yürütür.
Gherkin'de Kullanılan Önemli Terimler
Anahtar kelimeler şunlardır: Özellik, Arka Plan, Senaryo, Verilen, Ne Zaman, O Zaman, Ve, Ancak ve Senaryo Taslağı. Cucumber Kesin bir adlandırma kuralı yok, ancak net bir adlandırma yöntemi faydalı olur.
Özellik
Dosyanın uzantısı .feature olmalı ve her özellik dosyası yalnızca bir özelliği tanımlamalıdır. Feature anahtar kelimesi ile başlar. Özelliği: Ardından bir boşluk ve özellik adı gelir.
senaryo
Her özellik dosyasında birden fazla senaryo olabilir ve her senaryo şu şekilde başlar: Senaryo: Ardından senaryo adı gelir.
Olayın Arka Planı
Background anahtar kelimesi senaryoya bağlam ekler. Her senaryo tarafından paylaşılan adımları içerebilir; fark, bu adımların her senaryodan önce çalıştırılmasıdır.
Verilmiş
`Given` anahtar kelimesi, kullanıcının sistemle etkileşime girmeye başlamasından önce sistemi bilinen bir duruma getirir. Ön koşulu veya bağlamı tanımlar:
Given I am on "/."
Ne zaman
"When" anahtar kelimesi, kullanıcının gerçekleştirdiği eylemi tanımlar:
When I perform "Sign In."
Sonra
"Then" anahtar kelimesi, "When" adımındaki eylemden sonra gözlemlenen sonucu tanımlar. Yalnızca fark edilebilir değişiklikleri doğrulamalısınız:
Then I should see "Welcome Tom."
Ve ama
Birden fazla "Verilen", "Ne Zaman" veya "O Zaman" adımı olabilir. "Ve" ve "Ama" anahtar kelimeleri, okunabilirliği artırmak için ek adımlar ekler:
And I enter "EmailAddress" with "tomjohn@gmail.com." But I should see "Welcome Tom."
Given, When, Then, And ve But kelimelerinin hepsi test adımlarıdır. Bunları yer değiştirirseniz yorumlayıcı hata vermez, ancak senaryo mantıklı okunmaz, bu nedenle her anahtar kelimeyi amacına uygun olarak kullanın.
Kornişon Örnekleri
Örnek 1: Bir sosyal ağ sitesi için giriş yapma özelliği.
Feature: Login functionality of a social networking site Given I am a registered user When I enter my username And I enter my password Then I should be redirected to the home page
Gherkin, özellik dosyasında yazılı olan her adımı analiz eder ve özellik dosyasındaki adımların, adım tanımlama dosyasındaki adımlarla eşleşmesi gerekir.
Örnek 2: Arka plan bilgisi içeren bir kullanıcı kimlik doğrulama senaryosu.
Feature: User Authentication Background: Given the user is already registered on the website Scenario: Successful login Given the user is on the login page When the user inputs the correct email address And the user inputs the correct password And the user clicks the Login button Then the user should be authenticated And the user should be redirected to their dashboard
Gherkin Kullanımında En İyi Uygulamalar
- Her senaryo ayrı ve bağımsız olarak yürütülmelidir.
- Her özellik kendi başına çalıştırılabilir olmalıdır.
- Adım bilgileri ayrı olarak gösterilmelidir.
- Senaryolarınızı gereksinimlerinizle ilişkilendirin ve track, hangi senaryoların hangi gereksinime ait olduğunu gösterir.
- Modüler, anlaşılması kolay adımlar oluşturun ve yaygın senaryoları birleştirin.
- Sistemin nasıl çalıştığını değil, ne yaptığını açıklayın.
Kornişonun Avantajları
- Gherkin, programlama bilmeyenlerin bile anlayabileceği kadar basittir.
- Programcılar bunu testlerine başlamak için sağlam bir temel olarak kullanabilirler.
- Kullanıcı hikayelerinin anlaşılmasını kolaylaştırır ve iş gereksinimlerini hedefler.
- İş yöneticileri ve geliştiriciler aynı metni okuyabilirler.
- Gherkin test senaryoları, kabul testlerini doğrudan otomatik testlere bağlar.
- Yazım stili, testler arasında kodun yeniden kullanılmasını kolaylaştırıyor.
Kornişonun dezavantajları
- Bu, yüksek düzeyde iş katılımı ve iş birliği gerektirir.
- Her senaryoda iyi sonuç vermeyebilir.
- Kötü yazılmış testler, test bakım maliyetlerini artırabilir.
