jest ne demek?

Jest, [JavaScript](https://www.nedemek.page/kavramlar/javascript) uygulamaları için geliştirilmiş bir [test](https://www.nedemek.page/kavramlar/test) framework'üdür. Özellikle [React](https://www.nedemek.page/kavramlar/react) projeleriyle sıkça kullanılır ancak diğer JavaScript kütüphaneleri ve framework'leriyle de uyumludur. Facebook tarafından geliştirilmiştir ve açık kaynaklıdır.

**Temel Özellikleri:**

*   **Kolay Kurulum:** Jest, kurulumu ve yapılandırması oldukça basittir. Çoğu proje için varsayılan ayarları yeterli olur.
*   **Hızlı Test Çalıştırma:** Parallel test execution (paralel test çalıştırma) özelliği sayesinde testler hızlı bir şekilde çalıştırılır.
*   **Snapshot Testleri:** [Snapshot](https://www.nedemek.page/kavramlar/snapshot%20test) testleri ile UI'daki değişiklikleri kolayca tespit edebilirsiniz. Bir component'in belirli bir durumdaki çıktısını bir snapshot olarak kaydedersiniz ve sonraki testlerde bu snapshot ile karşılaştırılır.
*   **Mocking:** Fonksiyonları, modülleri ve hatta tüm component'leri kolayca [mock](https://www.nedemek.page/kavramlar/mock) edebilirsiniz. Bu, bağımlılıkları izole etmenize ve daha kontrollü testler yazmanıza olanak tanır.
*   **Coverage Raporları:** Kapsamlı test [coverage](https://www.nedemek.page/kavramlar/test%20kapsamı) raporları oluşturarak kodunuzun ne kadarının test edildiğini görebilirsiniz.
*   **Watch Mode:** "Watch mode" özelliği sayesinde kodda değişiklik yaptığınızda testler otomatik olarak yeniden çalışır.
*   **Asenkron Test Desteği:** `async/await` ve `Promise` gibi asenkron yapıları test etmek için yerleşik destek sunar.
*   **Matchers:** Zengin bir "matcher" (eşleştirici) kütüphanesi sunarak, beklenen sonuçları kolayca ifade etmenizi sağlar (örneğin: `toBe`, `toEqual`, `toHaveBeenCalled`).

**Kullanım Alanları:**

*   Unit test
*   Integration test
*   End-to-end test (Puppeteer veya Selenium gibi araçlarla birlikte)
*   [React](https://www.nedemek.page/kavramlar/react) component testleri
*   Backend testleri (Node.js)

Jest, modern JavaScript geliştirme süreçlerinde test otomasyonu için popüler ve güçlü bir çözümdür.