H1 · Bağımlılıklar ve İlk Test: REST Assured'un `given().when().then()` zinciri, çıplak `HttpClient` + JUnit `assert` kodunu bir **cümleye** dönüştürür: "GİVEN şu ön koşullar VAR
REST Assured'un `given().when().then()` zinciri, çıplak `HttpClient` + JUnit `assert` kodunu bir **cümleye** dönüştürür: "GİVEN şu ön koşullar VARKEN, WHEN şu request'i ATTIĞIMDA, THEN şunu BEKLERİM" — İngilizce okunduğunda bile anlaşılır. Java'da `HttpClient` ile aynı testi yazmak onlarca satır boilerplate (bağlantı kurma, header ekleme, gövdeyi ayrıştırma) gerektirirken, REST Assured bunu ÜÇ okunabilir satıra indirger — Bean Validation'ın `@Valid` ile validation boilerplate'ini yok etmesine benzer bir sadeleştirme. Peki bu "cümle" yapısı neden sadece sözdizimsel bir şeker değil? Çünkü bir test raporu okuyan bir PAYDAŞ (yönetici, ürün sahibi), `given/when/then` yapısındaki bir test ADINI okuyarak SENARYOYU anlayabilir — çıplak bir `assertEquals` satırı bunu sağlamaz. **Derin REST Assured rehberi için → `/rest-assured` sayfasına bak; burada sadece Bug Tracker'ı REST Assured ile test etmeye başlıyoruz.**
Micro Lab: Kod yazma
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: Kod yazma
Amaci ve girdiyi belirle
Kritik satiri tamamla
Cikti veya davranisi kontrol et
Hata mesajini kanit olarak oku
Duzeltmeyi tekrar calistir
Kod okuma ve dogrulama akisini sirala.
🎬 given / when / then
THEN: beklentiyi doğrula
Paydaş test adını okur
`given()` bloğu ön koşulları kurar: `baseUri`, header'lar, auth token — sahnenin dekoru hazırlanır.