Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
.NET'te BDD: Reqnroll 3 ile Gherkin Senaryolarını Bookstore API'sine Bağlamak
SpecFlow 31 Aralık 2024'te sona erdi; .NET'te Gherkin senaryolarını çalıştırmanın güncel yolu Reqnroll 3 ve xUnit v3 için Reqnroll.xunit.v3 paketidir. Bookstore'un kurumsal sipariş senaryolarını .NET 10'da proje kurulumu, step definition'lar, context injection, WebApplicationFactory, hata anında teşhis yapan hook, HTML formatter ile living documentation ve tag ile filtreleme üzerinden API'ye bağlıyor; Türkçe kültürde gözlenen bir tuzağı da gösteriyoruz.
Gherkin ile Executable Specification: Given-When-Then, Rule, Scenario Outline ve Declarative Senaryo Yazmak
Gherkin, Example Mapping'de bulunan kural ve örnekleri hem stakeholder'ın okuyabileceği hem de test runner'ın çalıştırabileceği bir spesifikasyona çevirir; iyi senaryo arayüzü değil, iş kuralını anlatır. Bookstore'un kurumsal sipariş kurallarıyla Feature, Rule, Background, Scenario Outline, Examples ve data table'ı, declarative ile imperative senaryo farkını, Türkçe keyword kararını ve Gherkin anti-pattern'lerini anlatıyoruz.
Acceptance Criteria ve Example Mapping: Kuralları Örneklerle Netleştirmek
Acceptance criteria bir story'nin kabul koşullarıdır ve en iyi hâli, her kuralın altında somut örneklerin durduğu hâlidir. Bookstore'un kurumsal indirim ve kısmi sevkiyat kartları üzerinden kural ve senaryo tabanlı criteria'yı, Definition of Done ve Definition of Ready farkını, dört renk kartlı Example Mapping oturumunu ve oturum sonunda story'nin hazır mı, bölünmeli mi, araştırılmalı mı olduğuna karar vermeyi anlatıyoruz.