UNIT TESTING IN JAVASCRIPT: MOCHA & CHAI EĞİTİMİ

Mocha ve Chai ile test yaz

Mocha test çatısından Chai'nin expect, should ve assert stilleriyle güçlü doğrulamalara kadar

Unit Testing in JavaScript: Mocha & Chai Eğitimi, Mocha test çatısını Chai assertion kütüphanesiyle birleştirerek okunabilir birim testleri yazmayı öğretir.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Mocha ile test yürütüp Chai'nin akıcı assertion diliyle anlamlı doğrulamalar yazma

Bu eğitim, Mocha test çatısını Chai assertion kütüphanesiyle birleştirerek okunabilir birim testleri yazmayı öğretir. Katılımcılar Mocha ile test yapısını kurar, ardından Chai'nin assert, expect ve should olmak üzere üç stilini kavrar. Dil zincirleri, eşitlik ve derin eşitlik, tip, özellik, içerme ve hata fırlatma doğrulamaları işlenir. Program; chai-as-promised ile asenkron, sinon-chai ile casus doğrulama ve chai-http ile tamamlanır.

Süre ve Format

3 Gün. Her gün dört modül; Mocha test yapısı ve Chai doğrulamaları örnek bir Node.js projesinde uygulanır.

Seviye

Orta Seviye — Mocha ile test çalıştırıp Chai assertion kütüphanesiyle okunabilir doğrulamalar yazmaya odaklanır

Öğrenme Metodu

Her Chai stili ve doğrulama türü kısa örneklerle gösterilir, ardından örnek projenin testleri yazılarak pekiştirilir.

Neden Bu Eğitim?

🧪Okunabilir testler

Chai'nin akıcı dil zincirleriyle İngilizce cümle gibi okunan, niyeti açık ve bakımı kolay doğrulamalar yazarsınız.

🔀Üç stil esnekliği

assert, expect ve should stillerini öğrenerek ekibinizin alışkanlığına ve bağlama en uygun yaklaşımı seçersiniz.

🔌Eklenti gücü

chai-as-promised ve sinon-chai gibi eklentilerle asenkron kodu ve casusları doğal bir dille doğrularsınız.

Anahtar Konular

mocha chai eğitimichai eğitimijavascript test eğitimibirim test kursuchai expectunit testing javascriptnode.js testchai assertiontest otomasyonu eğitimimocha chai kursu
“İyi bir doğrulama test kadar belgedir; Chai'nin akıcı dili, testi okuyana kodun ne yapması gerektiğini bir cümlede anlatır.”

Ön Koşullar

Eğitimden en iyi verimi almak için faydalı bilgi ve ortam gereksinimleri

1
JavaScript bilgisi

Fonksiyon, nesne, dizi ve ES6 söz dizimine aşinalık doğrulama kodunu yazmayı kolaylaştırır.

2
Node.js temeli

npm, modül ve asenkron fonksiyon kavramlarına temel aşinalık kurulumu hızlandırır.

3
Test fikri

Birim test mantığına ya da Mocha'ya temel aşinalık faydalıdır; eğitimde tazelenir.

4
Çalışma ortamı

Node.js, npm ve bir kod düzenleyici kurulu, proje oluşturup çalıştırabilir bir ortam gereklidir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı Mocha ile test yapısını kurar, Chai'yi projeye ekler ve assert, expect ile should stillerinin farkını kavrayarak ilk doğrulamaları yazar.
Modül 1
Mocha ile Test Yapısı
  • Mocha ve Chai'nin npm ile kurulması
  • describe ve it ile test iskeleti
  • beforeEach ile test verisi hazırlama
  • npm test betiğiyle testlerin çalıştırılması
  • Neden ayrı assertion kütüphanesi gerekir
  • Chai'nin Mocha ile birlikte yüklenmesi
Modül 2
assert Stili (TDD)
  • chai.assert nesnesinin içe aktarılması
  • assert.equal ve assert.strictEqual
  • assert.deepEqual ile derin eşitlik
  • assert.isTrue, isNull ve isUndefined
  • assert.throws ile hata doğrulama
  • assert.lengthOf ve assert.property
Modül 3
expect Stili (BDD)
  • expect fonksiyonunun kullanımı
  • to, be ve have gibi dil zincirleri
  • expect(x).to.equal ile değer eşitliği
  • Zincirin okunabilirliğe katkısı
  • expect ile hata mesajlarının netliği
  • expect stilinin yaygın tercih sebebi
Modül 4
should Stili ve Seçim
  • chai.should() ile should'un etkinleştirilmesi
  • Nesne üzerinden foo.should.equal kullanımı
  • should'un Object.prototype genişletmesi
  • null değerinde should'un sınırları
  • Üç stilin aynı testte karşılaştırılması
  • Proje için uygun stilin belirlenmesi
Günün hedefiKatılımcı Chai dil zincirlerini kullanır, eşitlik ve derin eşitliği ayırt eder, tip ve özellik doğrular, içerme ile hata fırlatmayı denetler.
Modül 1
Dil Zincirleri (Chains)
  • to, be, been, is, that bağlaçları
  • and ile zincirleri birleştirme
  • not ile doğrulamayı olumsuzlama
  • have ve with bağlaçlarının kullanımı
  • Anlamsal bağlaçların etkisizliği
  • Zincirle test niyetini ifade etme
Modül 2
Eşitlik Doğrulamaları
  • equal ile katı eşitlik (===) kontrolü
  • eql ve deep.equal ile derin eşitlik
  • closeTo ile sayısal yakınlık kontrolü
  • oneOf ile kümeden değer eşleşmesi
  • above, below, least ve most ile sıralama
  • within ile sayısal aralık doğrulama
Modül 3
Tip ve Özellik Doğrulama
  • a ve an ile veri tipi doğrulama
  • property ile nesne özelliği kontrolü
  • nested.property ile iç içe erişim
  • keys ile anahtar kümesi doğrulama
  • instanceof ile örnek (instance) kontrolü
  • lengthOf ile uzunluk doğrulama
Modül 4
İçerme ve Hata Doğrulama
  • include ve contain ile içerme kontrolü
  • members ile dizi eleman kümesi
  • match ile düzenli ifade eşlemesi
  • string ile alt dize içerme kontrolü
  • throw ile hata fırlatma doğrulama
  • throw ile hata mesajı ve tipi eşleme
Günün hedefiKatılımcı chai-as-promised ile asenkron sonucu doğrular, sinon-chai ile casusları denetler, chai-http ile API testi yazar ve özel assertion ekler.
Modül 1
Asenkron Doğrulama
  • chai-as-promised eklentisinin kurulumu
  • chai.use ile eklenti etkinleştirme
  • eventually ile Promise sonucunu doğrulama
  • fulfilled ve rejected durumları
  • rejectedWith ile hata tipini eşleme
  • async/await ile Chai'nin birlikte kullanımı
Modül 2
Casus ve Stub Doğrulama
  • sinon ve sinon-chai eklenti kurulumu
  • spy ile fonksiyon çağrısını izleme
  • have.been.called ile çağrı doğrulaması
  • calledWith ile argüman kontrolü
  • stub ile sahte dönüş değeri verme
  • callCount ile çağrı sayısı doğrulama
Modül 3
HTTP ve Entegrasyon
  • chai-http ile API isteği gönderme
  • res.should.have.status ile yanıt kodu
  • Yanıt gövdesini Chai ile doğrulama
  • JSON yanıt şemasının doğrulanması
  • Mocha kancalarıyla sunucu kurma
  • Uçtan uca küçük senaryo yazımı
Modül 4
Özel Assertion ve Düzen
  • chai.Assertion.addMethod ile özel doğrulama
  • Tekrarlanan doğrulamayı yardımcıya taşıma
  • chai.config ile çıktı ayarları
  • Test dosyalarını mantıklı düzenleme
  • Okunabilir test adlandırma sözleşmesi
  • nyc ile kapsamı testlere ekleme

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Mocha ve Chai kurulumu

Mocha test çatısını Chai ile birleştirir, projeye okunabilir bir test altyapısı kurabilirsiniz.

✅
Üç stil hakimiyeti

assert, expect ve should stillerini kavrar, ekibinize en uygun yaklaşımı bilinçli seçersiniz.

✅
Dil zincirleri

Chai dil zincirleriyle niyeti açık, cümle gibi okunan ve bakımı kolay doğrulamalar yazabilirsiniz.

✅
Eşitlik ayrımı

equal, eql ve deep.equal arasındaki farkı kavrar, katı ve derin eşitliği doğru uygularsınız.

✅
Tip ve özellik testi

Tip, özellik, anahtar ve içerme doğrulamalarıyla nesne ve dizileri ayrıntılı biçimde denetlersiniz.

✅
Asenkron doğrulama

chai-as-promised ile Promise sonuçlarını ve red durumlarını doğal bir dille doğrulayabilirsiniz.

✅
Casus doğrulama

sinon-chai ile fonksiyon çağrılarını, argümanları ve çağrı sayısını okunabilir biçimde denetlersiniz.

✅
HTTP ve özel assertion

chai-http ile API yanıtlarını test eder, özel assertion ile tekrar eden doğrulamaları sadeleştirirsiniz.

Kimler İçin Uygundur?

  • JavaScript veya Node.js bilen ve testlerini okunabilir
  • ifade gücü yüksek doğrulamalarla yazmak isteyen geliştiriciler
  • test alışkanlığı kazanmak isteyen yazılımcılar
  • kaliteli kod üretmeyi hedefleyen ekip üyeleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
JavaScript veya Node.js bilen ve testlerini okunabilir, ifade gücü yüksek doğrulamalarla yazmak isteyen geliştiriciler için uygundur. Test alışkanlığı kazanmak isteyen yazılımcılar ve kaliteli kod üretmeyi hedefleyen ekip üyeleri de hedef kitledir. Temel JavaScript bilgisi beklenir.
Mocha'yı bilmiyorsam sorun olur mu?
Hayır, eğitim ilk günde Mocha ile test yapısını describe, it ve kancalardan başlayarak kısaca ele alır. Odak Chai assertion kütüphanesinde olsa da Mocha temeli birlikte kurulur. Yalnızca temel JavaScript bilgisi yeterlidir, test deneyimi şart değildir.
Chai'nin hangi stilini öğreneceğim?
Eğitim Chai'nin üç stilini de kapsar: TDD odaklı assert, BDD odaklı expect ve nesne üzerinden çalışan should. Aralarındaki farkları örneklerle görür ve ekibinize en uygun olanı seçmeyi öğrenirsiniz. Ağırlık, en yaygın kullanılan expect stilindedir.
Asenkron kod ve API testleri de var mı?
Evet, son gün chai-as-promised ile Promise sonuçlarının doğrulanması, sinon-chai ile casus ve stub denetimi, chai-http ile API yanıtlarının test edilmesi ve özel assertion yazımı işlenir. Böylece gerçek projelerdeki asenkron ve entegrasyon senaryolarına hazır olursunuz.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Sertifika tamamlanan modülleri ve yazılan örnek testleri belgeler; kurumsal gruplara özel uyarlama yapılabilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Unit Testing in JavaScript: Mocha & Chai Eğitimi Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

JavaScript ve TypeScriptApplication Development with Node.js: Language Fundamentals Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Application Development with Node.js: Language Fundamentals Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Node.js dil temelleri: çalışma zamanı, event loop, modüller, npm, asenkron programlama, fs, stream ve http ile backend'e giriş eğitimi.

Detayları Gör →
JavaScript ve TypeScriptApplication Development with Node.js: Managing Advanced Application Elements Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Application Development with Node.js: Managing Advanced Application Elements Eğitimi

5 günİleriOnline / Yüz Yüze / Hibrit

İleri Node.js: stream, cluster, worker threads, önbellek, güvenlik, WebSocket, test ve Docker ile üretim ölçeğinde uygulama yönetimi eğitimi.

Detayları Gör →
JavaScript ve TypeScriptApplication Development with Node.js: Microservices Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Application Development with Node.js: Microservices Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Node.js ile mikroservis mimarisi: servis tasarımı, REST ve gRPC, mesaj kuyruğu, API gateway, dayanıklılık ve Docker ile dağıtım eğitimi.

Detayları Gör →
JavaScript ve TypeScriptApplication Development with Node.js: Microservices Frameworks, & Utilities Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Application Development with Node.js: Microservices Frameworks, & Utilities Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Node.js ile mikroservis mimarisi, NestJS, Moleculer, gRPC, mesaj kuyrukları, API Gateway, dayanıklılık ve Docker dağıtımını öğreten uygulamalı eğitim.

Detayları Gör →
JavaScript ve TypeScriptApplication Development with Node.js: Node Clusters & Memory Optimizations Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Application Development with Node.js: Node Clusters & Memory Optimizations Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Node.js cluster, worker_threads, V8 bellek modeli, çöp toplama, bellek sızıntısı tespiti ve profilleme ile ölçekleme optimizasyonunu öğreten eğitim.

Detayları Gör →
JavaScript ve TypeScriptApplication Development with Node.js: Process Managers Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Application Development with Node.js: Process Managers Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

PM2 ile Node.js süreç yönetimi, cluster modu, log, izleme, kesintisiz yeniden yükleme, systemd ve Docker dağıtımını öğreten uygulamalı kurumsal eğitim.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn