♻️ H5 · RequestSpecification ile tekrarı yok etmek

H5 · RequestSpecification ile tekrarı: `RequestSpecification`, API testinin **Page Object Model** karşılığıdır: Selenium'da her sayfa için locator'ları TEK bir sınıfta toplayıp t

`RequestSpecification`, API testinin **Page Object Model** karşılığıdır: Selenium'da her sayfa için locator'ları TEK bir sınıfta toplayıp tekrarı önlerken, `RequestSpecification` her testte tekrarlanan `baseUri`, ortak header'lar (`Content-Type`), auth token gibi bilgileri TEK bir yerde toplar. H1-H4'teki her test `given().baseUri("http://localhost:3000")` satırını TEKRAR TEKRAR yazdı — `baseUri` değişirse (örn. staging'e geçilirse) HER TEST dosyasını elle güncellemek gerekirdi. Peki bu neden sadece bir "kısayol" değil? Çünkü tekrarlanan kurulum kodu, F5'teki gibi bir "sessiz ayrışma" kaynağıdır — bir testte `baseUri` güncellenip diğerinde UNUTULURSA, testler birbirinden SESSİZCE farklı ortamlara karşı çalışmaya başlar. **Derin RequestSpecification rehberi için → `/rest-assured` sayfasına bak.**

🎬 API Testinin Page Object Model'i

Her testte tekrarlanan kurulum

RequestSpecification

Tek yerden yönetilen kurulum

H1-H4'teki her test AYNI `baseUri`/header kurulumunu tekrar tekrar yazıyordu.

Bu tekrar bir `RequestSpecification` sınıfına TAŞINIR — tıpkı Selenium'da locator'ların bir Page Object'e taşınması gibi.

Artık `baseUri` değişirse TEK bir yer (BugApiSpec) güncellenir, TÜM testler otomatik doğru ortama gider.

Tekrarı Yok Etme Sırası

Her testte aynı baseUri/header/token satırlarının yazıldığını gözlemle.

RequestSpecBuilder ile ortak kurulumu TEK bir sınıfa topla.

given().spec(BugApiSpec.spec()) ile her testte AYNI kurulumu paylaş.

Bir RequestSpecification çıkarma sürecini sırala.

Testlerdeki tekrarlanan kurulum satırlarını belirle