Dies ist eine alte Version des Dokuments!
LU05.A01 Frontend Unit-Testing ergänzen
Erfassen Sie hierfür einen Task, sofern noch keiner existiert. Verweisen Sie in allen Commit-Messages dieser Aufgabe auf den entsprechenden Task.
Installieren Sie ein Testframework für JS/TS-Unit-Tests Ihrer Wahl (Bsp. Jest, Vitest).
npm install -D ...
Ergänzen Sie Ihr packacke.json, so dass Sie das Testen analog mit dem Formatieren und Linten mit einem Framework-unabhängigen Scriptnamen abstrahieren.
| Jest | Vitest |
|---|---|
"scripts": { "format": "prettier --write .", "format-check": "prettier --check .", "lint": "eslint . --fix", "lint-check": "eslint .", "test": "jest", "test-coverage": "jest --coverage", "tsc": "tsc" } | "scripts": { "format": "prettier --write .", "format-check": "prettier --check .", "lint": "eslint . --fix", "lint-check": "eslint .", "test": "vitest", "test-coverage": "vitest run --coverage", "tsc": "tsc" } |
Fügen Sie in Ihrem Projekt einen entsprechenden Unit-Test hinzu. Die im Theorieteil erwähnten Repositories können Ihnen womöglich als Hilfe dienen. Eine entsprechende Test-Konfigurationsdatei ist stark empfohlen.
Gliedern Sie Ihren Test unbedingt in die 3 Abschnitte Arrange, Act und Assert:
// Arrange const testObject = ...; // Act const result = calculate(testObject); // Assert expect(result).not.toBeNull(); expect(result.textContent).toBe('Test');
Es empfiehlt sich den Test lokal laufend laufen lassen, bevor Sie ihn committen.
npm run test
Ergänzen Sie Ihre .github/workflows/frontend_job.yml-Datei mit folgenden Schritt:
- name: Install dependencies
run: npm ci
- name: Run Formatter check
run: npm run format-check
- name: Run Linter check
run: npm run lint-check
- name: Run tests
run: npm run test-coverage
Überprüfen Sie, ob der Test auch in der Pipeline ausgeführt wird und fehlerfrei durchläuft.