Willkommen im Repository zum Workshop "Softwarequalitätssicherung durch Unit Testing". Der Workshop behandelt Motivation zu und Relevanz sowie Konzeption und Umsetzung von Unit Tests anhand praktischer Beispiele im JavaScript-Kontext. Dazu wird das Testing-Framework Jest genutzt. Das vorliegende Repository enthält alle Materialien, die zur Teilnahme des Workshops notwendig sind. Bitte behandle die unten stehende Setup-Guide vor Workshop-Beginn.
Der Workshop wurde im Rahmen des Moduls "Web Technologien" des Studiengangs Medieninformatik (Master) mit Schwerpunkt Weaving the Web im Sommersemester 2022 an der Technischen Hochschule Köln (TH Köln) konzipiert. Weitere Informationen zum Modul und Workshop findet ihr hier.
Ansprechpartner
Ihr könnt in euren gewohnten IDEs arbeiten, da wir mit vanilla JS arbeiten. Wir empfehlen euch für einen reibungslosen Ablauf des Workshops Visual Studio Code.
Bitte stellt sicher, dass ihr über eine funktionierende Installation von Node.js (Version 14 oder 16) und npm verfügt.
- Workshop-Repository clonen
git clone https://github.com/mweiershaeuser/wt-sqs-unit-testing.git
cd wt-sqs-unit-testing
- Dependencies installieren
npm install
📂 wt-sqs-unit-testing
|-- 📂 slides // Folien
|-- 📂 solutions // Lösungen, äquivalente Struktur zu tasks
|-- 📂 tasks // Aufgaben
|-- 📂 00_demo // genutzter Beispiel- und Referenz-Code
|-- 📂 0x_<topic> // Aufgabe x zum Thema <topic>
|-- 📄 *.js // Source-Code
|-- 📄 *.spec.js // Test-Code
|-- 📂 src // Source-Code, der getestet wird.
Die geschriebenen Tests können mittels der Jest-CLI ausgeführt werden. Für diesen Workshop wurden für alle notwendigen CLI-Befehle npm-Skripte geschrieben, die dem folgenden Muster folgen:
npm run test:<tasks | solutions>:<0x>:<coverage>
Dadurch können alle Aufgaben und Lösungen variabel einzeln oder gemeinsam mit optionaler Coverage-Erfassung ausgeführt werden.
Alle verfügbaren Skripte können der package.json entnommen werden.
Alle Tests
npm run test
Alle Tests mit Coverage
npm run test:coverage
Alle Aufgaben
npm run test:tasks
Alle Lösungen mit Coverage
npm run test:solutions:coverage
Aufgabe 3 mit Coverage
npm run test:tasks:03:coverage