c# unit testing masterkurs kursbild

Lerne in kürzester Zeit, wie du deine C#-Applikationen mit Unit und Integration Tests versehen kannst

... damit du umfassende Software entwickeln kannst, die sich mit zunehmender Code-Basis immer noch effizient weiterentwickeln lässt und du Bugs schon frühzeitig identifizierst, sodass diese nicht in den Produktions-Code gelangen.

Laufzeit des Kurses

ca. 10 Stunden

Benötigte Vorkenntnisse

Fortgeschrittene C# Programmierfähigkeiten

Nahezu jede Firma stellt heutzutage sicher, dass die eigenen Anwendungen mit Unit Tests versehen werden. Denn diese helfen dabei, Bugs schon frühzeitig zu erkennen und sie reduzieren signifikant die Möglichkeit, dass Bugs überhaupt in den Produktionscode gelangen.

In anderen Worten: Sie sparen Unternehmen jede Menge Zeit und Geld.

Das bedeutet für dich: Wenn du diese Fähigkeiten beherrschst, machst du dich auf dem Arbeitsmarkt immens wertvoll.

In diesem Kurs wirst du deshalb Schritt-für-Schritt und von 0 an sowohl an das Thema Unit Testing als auch an das Thema Integration Testing mit C# herangeführt.

Genauer gesagt wirst du lernen:

  • Was ein Unit Test ist, wie ein Unit Test aufgebaut ist, welche Namenskoventionen es bei Unit Tests gibt und viele weitere Grundlagen
  • Was es mit dem Thema "Test Driven Development" auf sich hat
  • Wie man "testbaren Code" schreibt und welche Voraussetzungen hierfür gegeben sein müssen
  • Wie man Unit Tests in der Praxis in seinen eigenen Projekten integriert
  • Wie man Integration Tests in der Praxis in seinen eigenen Projekten implementiert
  • Wie man Konsolenprojekte testet
  • Wie man Logging testet
  • Best und Bad Practices beim Testen der eigenen Applikationen

All diese Kenntnisse wirst du "hands-on" anhand eines Praxisprojekts erwerben, denn wir programmieren eine komplette und funktionsfähige Web-API für eine Buchladen-Verwaltungssoftware.

Wenn du also deinen C# Wissensstand und somit deine Karriere als Softwareentwickler auf das nächste Level heben möchtest, um so in zukünftigen Bewerbungsgesprächen oder im Joballtag massiv zu punkten, solltest du diesen Kurs definitiv durcharbeiten.

Inhaltsverzeichnis des Kurses

Modul 1: Einführung

c# unit testing masterkurs modul 1

In diesem Modul erhältst du eine kurze Übersicht über den Kurs. Zudem wird aufgezeigt, weile Voraussetzungen nötig sind, damit dieser Kurs ohne Probleme durchgearbeitet werden kann.

Diese Lektionen erwarten dich:

  • [Text] Kursübersicht und Voraussetzungen

Modul 2: Grundlagen

c# unit testing masterkurs modul 2

In diesem Modul lernst du alle wichtigen Grundlagen bezüglich Unit Tests kennen. Angefangen bei "Was ist ein Unit Test?" bis hin zu den "Namenskonventionen von Unit Tests" wirst du in diesem Modul alles grundlegende erlernen. Zudem sind auch Praxisbeispiele und Übungsaufgaben integriert.

Diese Lektionen erwarten dich:

  • [Video 1] Einleitung und Aufbau des Kurses
  • [Video 2] Was ist ein Unit Test?
  • [Video 3] Ziele des Unit Testing
  • [Video 4] Aufbau eines Unit Tests
  • [Video 5] Benennung von Unit Tests Variante 1 - "Fact"
  • [Video 6] Benennung von Unit Tests Variante 2 - "Given When Then"
  • [Video 7] Benennung von Unit Tests Variante 3 - "Should"
  • [Video 8] Die 4 Säulen guter Tests
  • [Video 9] Hochwertige Testsuite
  • [Video 10] Beobachtbares Verhalten
  • [Video 11] Blackbox und Whitebox
  • [Video 12] Praxisbeispiel: Median-Rechner
  • [Video 13] Übung - Aufgabenstellung
  • [Video 14] Übung - Lösung
  • [Video 15] Regression
  • [Video 16] Praxisbeispiel für Testdoubles (Währungsumrechner Projekt)
  • [Video 17] Übung - Aufgabenstellung
  • [Video 18] Übung - Lösung
  • [Video 19] Isolation
  • [Video 20] Testabdeckung
  • [Video 21] Testpyramide

Modul 3: TDD (Test Driven Development)

c# unit testing masterkurs modul 3

In diesem Modul wirst du Schritt-für-Schritt anhand von einem Praxisbeispiel und einer Übung lernen, was es mit dem Thema "Test Driven Development" auf sich hat.

Diese Lektionen erwarten dich:

  • [Video 1] TDD am Praxisbeispiel eines Anagram-Prüfers
  • [Video 2] Übung - Aufgabenstellung
  • [Video 3] Übung - Lösung

Modul 4: Testbarer Code

c# unit testing masterkurs modul 4

Damit man seinen Code testen kann, muss er gewisse Voraussetzungen erfüllen. Welche dies sind und wie testbarer Code aussieht, wirst du im Detail in diesem Modul erfahren. 

Diese Lektionen erwarten dich:

  • [Video 1] Einleitung
  • [Video 2] Clean Architecture
  • [Video 3] Arten von Code
  • [Video 4] Praxisbeispiel Data Access Layer
  • [Video 5] CI/CD Pipeline
  • [Video 6] Das zugrundeliegende Problem mehrzeiliger Act Abschnitte
  • [Video 7] Externe Abhängigkeiten

Modul 5: Unit Tests in der Praxis (Praxisprojekt)

c# unit testing masterkurs modul 5

In diesem Modul wirst du anhand eines kompletten Praxisprojekts lernen, wie du Unit Tests im Programmier-Alltag einsetzt. Im Praxisprojekt werden wir gemeinsam eine komplette Web-API für eine Buchladen-Verwaltungssoftware entwickeln.

Diese Lektionen erwarten dich:

  • [Video 1] Einleitung
  • [Video 2] Visual Studio Workload
  • [Video 3] Solution aufsetzen
  • [Video 4] Domain Layer
  • [Video 5] Application Layer (Teil 1)
  • [Video 6] Application Layer (Teil 2)
  • [Video 7] Application Layer (Teil 3)
  • [Video 8] Application Layer (Teil 4)
  • [Video 9] Application Layer (Teil 5)
  • [Video 10] Application Layer (Teil 6)
  • [Video 11] Application Layer (Teil 7)
  • [Video 12] Application Layer (Teil 8)
  • [Video 13] Refactoring
  • [Video 14] Die verlorene User Story

Modul 6: Integration Tests in der Praxis (Praxisprojekt)

c# unit testing masterkurs modul 6

Nachdem wir im vorangegangen Modul bereits sämtliche Unit Tests integriert haben, werden wir nun am Praxisprojekt weiter arbeiten und auch die Integrationstests durchführen.

Diese Lektionen erwarten dich:

  • [Video 1] Db Context
  • [Video 2] Repositories
  • [Video 3] Services registrieren
  • [Video 4] Startup
  • [Video 5] Identity Seed
  • [Video 6] Exception Middleware
  • [Video 7] Controllers
  • [Video 8] Integrationstests Basisklasse
  • [Video 9] Sequentieller Ablauf
  • [Video 10] Create Author Tests
  • [Video 11] Update Author Tests
  • [Video 12] Teardown aufräumen
  • [Video 13] Create Book Tests
  • [Video 14] Update Book Tests
  • [Video 15] Book Delivery und Book Sale Tests
  • [Video 16] Book Filter Tests

Modul 7: Testen von Konsolenprojekten

c# unit testing masterkurs modul 7

Beim Testen von Konsolenprojekten gibt es einige Details zu beachten. Welche das sind und wie man Konsolenprojekte testet, wirst du in diesem Modul erfahren.

Diese Lektionen erwarten dich:

  • [Video 1] Integrationstest bei Konsolenprojekten

Modul 8: Testen von Logging

c# unit testing masterkurs modul 8

In diesem Modul wirst du Schritt-für-Schritt lernen, wie man den Logging-Mechanismus testen kann.

Diese Lektionen erwarten dich:

  • [Video 1] Praxisprojekt um Logging Funktionalität erweitern und testen

Modul 9: Best und Bad Practices

c# unit testing masterkurs modul 9

Beim Thema Testen gibt es einige Best und Bad Practices, die man unbedingt auf dem Schirm haben sollte. Welche dies sind, wirst du in diesem Modul erfahren.

Diese Lektionen erwarten dich:

  • [Video 1] Einleitung
  • [Video 2] Tests bei Regression ergänzen
  • [Video 3] Vermeide das Testen von Implementierungsdetails
  • [Video 4] Anti-Pattern: Code Pollution
  • [Video 5] Private Methoden und privater State
  • [Video 6] Mehrere AAA-Abschnitte
  • [Video 7] Logging testen
  • [Video 8] Tests in der Build Pipeline
  • [Video 9] In Memory Datenbanken

Modul 10: Abschluss

c# unit testing masterkurs modul 10

Herzlichen Glückwunsch, du hast den Kurs erfolgreich durchgearbeitet. In diesem Modul erhältst du nun noch einen Ausblick, wie du am besten weiter machst.

Diese Lektionen erwarten dich:

  • [Video 1] Abschluss - Wie machst du jetzt weiter?