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

Mocha ve Unit.js ile test yaz

Mocha test çatısından Unit.js'in test.value zincirleri, casus ve HTTP doğrulamalarına kadar

Unit Testing in JavaScript: Mocha & Unit.js Eğitimi, Mocha test çatısını Unit.js assertion kütüphanesiyle birleştirerek akıcı 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 Unit.js'in tipe göre akıcı assertion diliyle doğrulama yazma

Bu eğitim, Mocha test çatısını Unit.js assertion kütüphanesiyle birleştirerek akıcı birim testleri yazmayı öğretir. Katılımcılar Mocha ile test yapısını kurar, ardından Unit.js'in test.value, test.object, test.string ve test.number gibi tipe göre zincirlenen API'sini kavrar. Eşitlik, tip, özellik, içerme ve hata doğrulamaları işlenir. Program; Unit.js'in paketlediği sinon tabanlı casus ve stub, supertest tabanlı HTTP testi ve given-when-then yapısıyla tamamlanır.

Süre ve Format

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

Seviye

Orta Seviye — Mocha ile test çalıştırıp Unit.js'in akıcı assertion API'siyle doğrulama yazmaya odaklanır

Öğrenme Metodu

Her Unit.js assertion türü kısa örneklerle gösterilir, ardından örnek projenin testleri yazılarak akıcı API pekiştirilir.

Neden Bu Eğitim?

🧪Akıcı test API'si

Unit.js'in tipe göre zincirlenen test.value ve test.object API'siyle niyeti açık, akıcı ve okunabilir doğrulamalar yazarsınız.

📦Hepsi bir arada

Unit.js assertion, casus ve HTTP testi araçlarını tek pakette sunar; ayrı kütüphane kurma yükü olmadan test yazarsınız.

🔁BDD yapısı

given, when ve then yardımcılarıyla senaryoyu düzenli kurar, testi hem belge hem doğrulama hâline getirirsiniz.

Anahtar Konular

mocha unit.js eğitimiunit.js eğitimijavascript test eğitimibirim test kursuunit.js assertionunit testing javascriptnode.js testtest otomasyonu eğitimimocha unit js kursuakıcı assertion
“Unit.js testi tek bir akıcı dilde toplar; test.value ile başlayan her zincir, kodun ne yapması gerektiğini sade biçimde söyler.”

Ö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, Unit.js'i projeye ekler ve test.value ile tipe göre zincirlenen akıcı doğrulama yaklaşımını kavrar.
Modül 1
Mocha ile Test Yapısı
  • Mocha ve Unit.js'in npm ile kurulması
  • describe ve it ile test iskeleti
  • beforeEach ile test verisi hazırlama
  • npm test betiğiyle testlerin çalıştırılması
  • require('unit.js') ile test nesnesi
  • Unit.js'in Mocha ile birlikte kullanımı
Modül 2
Unit.js Felsefesi
  • Tipe göre zincirlenen akıcı API mantığı
  • test.value ile genel değer sarmalama
  • Paketlenmiş assertion, sinon ve supertest
  • Chai'den farklı olarak her şeyin tek pakette
  • Akıcı zincirin okunabilirliğe katkısı
  • must.js tabanlı assertion altyapısı
Modül 3
test.value ile Temel Doğrulama
  • isEqualTo ile değer eşitliği kontrolü
  • isNotEqualTo ile eşitsizlik kontrolü
  • isIdenticalTo ile katı kimlik (===)
  • isTrue, isFalse ve isNull kontrolü
  • isUndefined ve isNaN durum kontrolü
  • match ile düzenli ifade eşlemesi
Modül 4
Yerleşik assert ve Düzen
  • test.assert ile Node assert kullanımı
  • test.assert.deepEqual ile derin eşitlik
  • Akıcı API ile assert'in karşılaştırması
  • Hata mesajlarının okunması ve yorumu
  • test.dump ile değeri ayrıntılı inceleme
  • Test dosyalarının düzenlenmesi
Günün hedefiKatılımcı Unit.js'in tipe özel doğrulayıcılarını kullanır; nesne, dize, sayı ve diziyi denetler, özellik ve içerme kontrol eder, hatayı doğrular.
Modül 1
test.object ile Nesne
  • hasProperty ile özellik varlığı
  • hasProperty ile değerli özellik kontrolü
  • hasKey ile nesne anahtarı kontrolü
  • contains ile kısmi nesne eşleşmesi
  • is ile beklenen yapıyla karşılaştırma
  • hasOwnProperty ile doğrudan özellik
Modül 2
test.string ile Dize
  • startsWith ile başlangıç kontrolü
  • endsWith ile dize bitiş kontrolü
  • contains ile alt dize içerme kontrolü
  • match ile dize deseni eşleştirme
  • isEmpty ile boş dize durumu kontrolü
  • hasLength ile uzunluk doğrulama
Modül 3
test.number ve test.array
  • isBetween ile sayısal aralık kontrolü
  • isGreaterThan ve isLessThan kontrolü
  • isInfinite ile sonsuz kontrolü
  • array hasLength ile dizi uzunluğu
  • array contains ile eleman içerme
  • array isEmpty ile boş dizi kontrolü
Modül 4
Hata ve Fonksiyon
  • test.function ile fonksiyon doğrulama
  • throws ile hata fırlatma kontrolü
  • test.error ile hata nesnesi doğrulama
  • test.exception ile istisna yakalama
  • Hata tipi ve mesajının eşlenmesi
  • isInstanceOf ile örnek kontrolü
Günün hedefiKatılımcı Unit.js'in sinon tabanlı casus ve stub'ını kullanır, supertest ile API testi yazar ve given-when-then ile senaryoyu düzenli kurar.
Modül 1
Casus ve Stub Kullanımı
  • test.spy ile fonksiyon çağrısını izleme
  • called ve callCount ile çağrı kontrolü
  • calledWith ile argüman doğrulama
  • test.stub ile sahte dönüş değeri
  • test.mock ile beklenti tanımlama
  • Casusun test.value ile doğrulanması
Modül 2
HTTP ve Entegrasyon
  • test.httpAgent ile sunucuya istek
  • GET ve POST istekleri gönderme
  • Yanıt kodu ve başlık doğrulama
  • Yanıt gövdesini test.value ile denetleme
  • JSON yanıt yapısının doğrulanması
  • Mocha kancalarıyla sunucu kurma
Modül 3
Asenkron ve BDD Akışı
  • Asenkron testi done ve Promise ile yazma
  • test.promise ile Promise doğrulama
  • given ile senaryonun ön koşulunu hazırlama
  • when ile gerçekleşen eylemi tanımlama
  • then ile beklenen sonucu doğrulama
  • case ile test senaryosunu adlandırma
Modül 4
Düzen, Kapsam ve Karşılaştırma
  • Okunabilir test adlandırma sözleşmesi
  • Tekrarlanan kurulumun kancaya taşınması
  • nyc ile kapsamı testlere ekleme
  • Unit.js ile Chai yaklaşımının farkı
  • Projeye uygun kütüphanenin seçimi
  • Testlerin CI hattında çalıştırılması

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Mocha ve Unit.js kurulumu

Mocha test çatısını Unit.js ile birleştirir, projeye akıcı bir test altyapısı kurabilirsiniz.

✅
Akıcı API

test.value ile tipe göre zincirlenen akıcı doğrulama yaklaşımını kavrar ve okunabilir testler yazarsınız.

✅
Tipe özel doğrulama

test.object, test.string, test.number ve test.array ile her tipi kendi doğrulayıcısıyla denetlersiniz.

✅
Hata doğrulama

test.function, test.error ve test.exception ile hata fırlatmayı ve istisnaları güvenle doğrularsınız.

✅
Casus ve stub

Unit.js'in sinon tabanlı test.spy ve test.stub'ı ile fonksiyon çağrılarını ve argümanları denetlersiniz.

✅
HTTP testi

test.httpAgent ile API isteklerini gönderir, yanıt kodu ve gövdesini akıcı biçimde doğrulayabilirsiniz.

✅
BDD akışı

given, when ve then yardımcılarıyla senaryoyu düzenler, testi hem belge hem doğrulama hâline getirirsiniz.

✅
Bilinçli seçim

Unit.js ile Chai yaklaşımlarının farkını kavrar, projeye en uygun kütüphaneyi seçebilirsiniz.

Kimler İçin Uygundur?

  • JavaScript veya Node.js bilen ve testlerini Unit.js'in tipe göre zincirlenen akıcı API'siyle 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 Unit.js'in tipe göre zincirlenen akıcı API'siyle 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.
Unit.js ile Chai arasındaki fark nedir?
Chai assert, expect ve should gibi ayrı stiller sunar ve casus ya da HTTP için ek eklenti gerektirir. Unit.js ise tipe göre zincirlenen tek bir akıcı API sağlar ve assertion, sinon tabanlı casus ile supertest tabanlı HTTP testini tek pakette birleştirir. Eğitim son günde bu farkı karşılaştırır.
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 Unit.js assertion kütüphanesinde olsa da Mocha temeli birlikte kurulur. Yalnızca temel JavaScript bilgisi yeterlidir, test deneyimi şart değildir.
Casus ve API testleri de işleniyor mu?
Evet, son gün Unit.js'in sinon tabanlı test.spy ve test.stub ile casus ve stub kullanımı, test.httpAgent ile API isteklerinin test edilmesi ve given-when-then ile senaryo yazımı işlenir. Böylece gerçek projelerdeki etkileşim 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 & Unit.js 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 TypeScriptJavaScript - Gelişmiş Programlama Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

JavaScript - Gelişmiş Programlama Eğitimi

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

İleri JavaScript: kapanış, this, prototip, event loop, Promise, async/await, generator, Proxy ve performans optimizasyonu üzerine uygulamalı eğitim.

Detayları Gör →
JavaScript ve TypeScriptJavaScript Animations & Internationalization Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

JavaScript Animations & Internationalization Eğitimi

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

JavaScript animasyon ve uluslararasılaştırma: Web Animations API, requestAnimationFrame, kaydırma efektleri, Intl API ve çok dilli i18n üzerine eğitim.

Detayları Gör →
JavaScript ve TypeScriptJavaScript Essentials for Web Development Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

JavaScript Essentials for Web Development Eğitimi

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

Web geliştirme için JavaScript temelleri: değişkenler, fonksiyonlar, DOM, olaylar, form işleme, fetch ve JSON üzerine sıfırdan uygulamalı eğitim.

Detayları Gör →
JavaScript ve TypeScriptJavaScript Essentials with jQuery Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

JavaScript Essentials with jQuery Eğitimi

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

JavaScript temelleri ve jQuery: seçiciler, DOM işleme, olay yönetimi, efektler, AJAX ve eklenti kullanımı üzerine sıfırdan uygulamalı eğitim.

Detayları Gör →
JavaScript ve TypeScriptJavaScript Front-end Development: Data, Decision Making, & Arrays Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

JavaScript Front-end Development: Data, Decision Making, & Arrays Eğitimi

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

JavaScript veri tipleri, tip dönüşümü, if/switch karar yapıları, döngüler ve map/filter/reduce ile dizi işleme eğitimi. Uygulamalı ön yüz programı.

Detayları Gör →
JavaScript ve TypeScriptJavaScript Front-end Development: Errors, Events, Objects, & New Features Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

JavaScript Front-end Development: Errors, Events, Objects, & New Features Eğitimi

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

JavaScript try/catch hata yönetimi, DOM olayları, olay delegasyonu, nesneler, prototip ve modern ES6+ özellikler eğitimi. Uygulamalı ön yüz programı.

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