UNIT TESTING WITH C# EĞİTİMİ

Önce testi yazın, sonra güvenle değiştirin

XUnit ve Moq ile C# birim testi yazma: xUnit Theory/InlineData, Moq Setup/Verify, TDD Red-Green-Refactor ve Testcontainers uygulamalı örneklerle.

Unit Testing with C#: xUnit ve Moq ile C# birim testi yazma. XUnit Theory/InlineData, Moq Setup/Verify, TDD Red-Green-Refactor ve Testcontainers 2 günlük uygulamalı programda işlenir. Katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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

Eğitim Hakkında

XUnit Theory/InlineData ve Moq Setup/Verify ekseninde xUnit ve Moq ile C# birim testi yazma

Unit Testing with C# eğitimi, xUnit ve Moq ile C# birim testi yazma konusunu uçtan uca ele alır. XUnit Theory/InlineData, Moq Setup/Verify, TDD Red-Green-Refactor ve Testcontainers gibi başlıklar Visual Studio üzerinde canlı kodlama ve gerçek bir servis katmanı ile işlenir. Katılımcılar eğitim sonunda iş kurallarını saf birim testlerle, veri katmanını entegrasyon testleriyle doğrulayan bir test paketi kurabilir hale gelir.

Süre ve Format

2 Gün. Her gün dört modül; kısa kavramsal anlatım ve ardından gerçek bir servis katmanı ile uygulama.

Seviye

Orta Seviye — XUnit ve Moq ile C# birim testi yazma için xUnit Theory/InlineData, Moq Setup/Verify ve TDD Red-Green-Refactor başlıklarını kapsar.

Öğrenme Metodu

Her modül canlı kodlama ile başlar; katılımcılar gerçek bir servis katmanı üzerinde kendi çözümlerini geliştirip tartışır.

Neden Bu Eğitim?

🧩Gerçek Senaryolar

XUnit Theory/InlineData ve Moq Setup/Verify konuları, kurumsal projelerde karşılaşılan örneklerle işlenir.

🛠️Uygulamalı Kodlama

Her modül gerçek bir servis katmanı ile pekiştirilir; TDD Red-Green-Refactor katılımcılar tarafından bizzat kodlanır.

🚀Üretime Hazırlık

Testcontainers konusunda kalite, güvenlik ve bakım kolaylığı pratikleri kazandırılır.

Anahtar Konular

Unit Testing with C# eğitimiUnit Testing with C# kursuxUnit Theory/InlineDataMoq Setup/VerifyTDD Red-Green-RefactorTestcontainersC# eğitimi.NET eğitimi.NET kursuVisual Studio eğitimi
“İyi anlaşılmış xUnit Theory/InlineData, bakımı kolay ve güvenilir yazılımın ilk adımıdır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
C# Deneyimi

Sınıf, interface, koleksiyon ve LINQ kullanımı ile en az birkaç aylık C# deneyimi.

2
Temel Web/SQL

HTTP, JSON ve temel SQL sorgularına aşinalık (web konuları için) beklenir.

3
Geliştirme Ortamı

Visual Studio 2022 (Community yeterli) ve .NET 8 SDK kurulu, yönetici haklarına sahip bir dizüstü bilgisayar.

4
Git Bilgisi

Örnek kodları depodan çekmek için temel Git komutları bilinmelidir.

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ı, Birim Test Temelleri ve Test Edilebilir Tasarım kapsamında Birim Test Temelleri (xUnit), SOLID ve Tasarım Kalıplarına Giriş, Mocking ve Bağımlılık İzolasyonu ve Visual Studio ile Hata Ayıklama başlıklarını uygulamalı olarak çalışır.
Modül 1
Birim Test Temelleri (xUnit)
  • Test piramidi, birim/integration/E2E ayrımı ve FIRST ilkeleri
  • xUnit, NUnit, MSTest karşılaştırması; [Fact], [Theory], [InlineData], [MemberData]
  • Arrange-Act-Assert, test adlandırma ve test sınıfı organizasyonu
  • Assert kütüphaneleri: FluentAssertions ve Shouldly
  • Fixture, IClassFixture, IAsyncLifetime ve test verisi üretimi (Bogus, AutoFixture)
  • Test Explorer, dotnet test ve Live Unit Testing
Modül 2
SOLID ve Tasarım Kalıplarına Giriş
  • Single Responsibility ve Open/Closed ilkeleri ile refactoring örneği
  • Liskov Substitution ihlalleri ve Interface Segregation ile dar arayüzler
  • Dependency Inversion ve IoC kavramı, constructor injection
  • Kalıpların GoF sınıflandırması: creational, structural, behavioral
  • Anti-pattern'ler: God Object, Singleton kötüye kullanımı, Service Locator
  • Kod kokuları (code smells) ve kalıpla çözüm seçme kriterleri
Modül 3
Mocking ve Bağımlılık İzolasyonu
  • Test double türleri: dummy, stub, fake, spy, mock
  • Moq: Setup, Returns, Verify, Callback ve It.IsAny<T>
  • NSubstitute ve FakeItEasy ile karşılaştırma
  • Test edilebilir tasarım: interface, DI, zaman ve dosya sistemi soyutlama (TimeProvider)
  • Statik ve sealed sınıfları sarmalama; HttpClient için HttpMessageHandler mock
  • Aşırı mock tuzakları ve davranış/state testi dengesi
Modül 4
Visual Studio ile Hata Ayıklama
  • Breakpoint, conditional breakpoint, tracepoint ve hit count kullanımı
  • Watch, Locals, Autos, Immediate ve Call Stack pencereleri
  • Edit and Continue ve Hot Reload ile çalışırken kod değiştirme
  • Exception Settings ile ilk-şans (first chance) istisna yakalama
  • Diagnostic Tools: CPU Usage, Memory Usage ve snapshot karşılaştırma
  • Dump (.dmp) dosyası analizi ve uzak makinede hata ayıklama (Remote Debugger)
Günün hedefiKatılımcı, TDD, Entegrasyon ve Kapsam kapsamında TDD ve İleri Test Teknikleri, Model Katmanı ve Birim Testi, Asenkron Programlama (async/await) ve EF Core Sorgulama ve Yükleme Stratejileri başlıklarını uygulamalı olarak çalışır.
Modül 1
TDD ve İleri Test Teknikleri
  • Red-Green-Refactor döngüsü ile kata çalışması
  • Mutation testing (Stryker.NET) ve kod kapsamı (Coverlet, ReportGenerator)
  • Integration test: WebApplicationFactory, Testcontainers ile gerçek SQL Server
  • Snapshot testi (Verify) ve property-based testing (FsCheck)
  • Asenkron kod, exception ve zaman bağımlı kod testleri
  • CI hattında test, kapsam eşiği ve flaky test yönetimi
Modül 2
Model Katmanı ve Birim Testi
  • Domain modeli: entity, value object ve iş kuralı doğrulaması
  • xUnit [Fact]/[Theory], Arrange-Act-Assert deseni
  • Moq / NSubstitute ile bağımlılıkları taklit etme
  • Controller'ı birim test etme: ActionResult tipi ve ModelState kontrolü
  • EF Core InMemory / SQLite ile repository testleri
  • WebApplicationFactory ile integration test ve kapsam (coverage) raporu
Modül 3
Asenkron Programlama (async/await)
  • Task, Task<T>, ValueTask ve async state machine mantığı
  • async/await akışı, ConfigureAwait(false) ve SynchronizationContext
  • Task.WhenAll, Task.WhenAny ve paralel I/O çağrıları
  • CancellationToken ile iptal ve zaman aşımı yönetimi
  • Parallel.ForEachAsync, Channel<T> ve producer-consumer deseni
  • Deadlock senaryoları (.Result/.Wait()) ve async void tehlikesi
Modül 4
EF Core Sorgulama ve Yükleme Stratejileri
  • LINQ to Entities: Where, Include/ThenInclude, projection (Select) ve AsNoTracking
  • Eager, explicit ve lazy loading; N+1 sorgu problemi tespiti
  • Split query (AsSplitQuery) ve cartesian explosion
  • Ham SQL: FromSqlRaw, FromSqlInterpolated, ExecuteSqlRaw ve stored procedure çağrısı
  • Compiled queries, ExecuteUpdate/ExecuteDelete ile toplu işlem
  • Sayfalama (Skip/Take, keyset pagination) ve dinamik filtre oluşturma

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Birim Test Temelleri

Test piramidi, birim/integration/E2E ayrımı ve FIRST ilkeleri dahil, Birim Test Temelleri (xUnit) alanında somut çözümler üretebilirsiniz.

🧩
SOLID ve Tasarım

Single Responsibility ve Open/Closed ilkeleri ile refactoring örneği dahil, SOLID ve Tasarım Kalıplarına Giriş alanında somut çözümler üretebilirsiniz.

🛠️
Mocking ve Bağımlılık

Test double türleri: dummy, stub, fake, spy, mock dahil, Mocking ve Bağımlılık İzolasyonu alanında somut çözümler üretebilirsiniz.

🔐
Visual Studio ile

Breakpoint, conditional breakpoint, tracepoint ve hit count kullanımı dahil, Visual Studio ile Hata Ayıklama alanında somut çözümler üretebilirsiniz.

⚡
TDD ve İleri

Red-Green-Refactor döngüsü ile kata çalışması dahil, TDD ve İleri Test Teknikleri alanında somut çözümler üretebilirsiniz.

🧪
Model Katmanı ve

Domain modeli: entity, value object ve iş kuralı doğrulaması dahil, Model Katmanı ve Birim Testi alanında somut çözümler üretebilirsiniz.

📦
Asenkron Programlama

Task, Task<T>, ValueTask ve async state machine mantığı dahil, Asenkron Programlama (async/await) alanında somut çözümler üretebilirsiniz.

🚀
EF Core Sorgulama

LINQ to Entities: Where, Include/ThenInclude, projection (Select) ve AsNoTracking dahil, EF Core Sorgulama ve Yükleme Stratejileri alanında somut çözümler üretebilirsiniz.

Kimler İçin Uygundur?

  • C# geliştiricileri
  • kalite güvence mühendisleri
  • test otomasyonuna kod tarafından yaklaşmak isteyen ekipler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C# geliştiricileri, kalite güvence mühendisleri ve test otomasyonuna kod tarafından yaklaşmak isteyen ekipler.
Eğitime katılmak için ön bilgi gerekir mi?
Sınıf, interface, koleksiyon ve LINQ kullanımı ile en az birkaç aylık C# deneyimi. HTTP, JSON ve temel SQL sorgularına aşinalık (web konuları için) beklenir. Gerekli ortam: Visual Studio 2022 (Community yeterli) ve .NET 8 SDK kurulu, yönetici haklarına sahip bir dizüstü bilgisayar.
Eğitimde hangi konular işleniyor?
XUnit Theory/InlineData, Moq Setup/Verify, TDD Red-Green-Refactor ve Testcontainers başlıklarının yanında tdd, entegrasyon ve kapsam konusu da yer alır; uygulamalar gerçek bir servis katmanı üzerinden yürür.
Eğitim sonunda sertifika veriliyor mu?
Evet, katılım ve başarı koşullarını sağlayanlara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Bu eğitim herhangi bir üretici sınavının yerine geçmez; sınav söz konusuysa başvuru ve ücreti ilgili kuruma aittir.
Eğitim kaç gün sürer ve nasıl işlenir?
Program 2 gündür; her gün dört modül işlenir. Anlatımın ardından gerçek bir servis katmanı ile uygulama yapılır, sorularınız oturum içinde yanıtlanır.

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 with C# Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn