Skip to Content
Programmieren9 - CodequalitätAlternative: node:test (optional)

Alternative: Unit-Tests mit node:test (optional)

Dauer: 10 Minuten

Ziel: Verstehen, wann node:test als schlanke Alternative zu Vitest sinnvoll ist

Diese Lektion ist optional. Der Hauptpfad im Kurs bleibt Unit-Testing mit Vitest.

Wann ist node:test sinnvoll?

node:test ist der eingebaute Test Runner von Node.js (ab Node 18, stabil seit Node 20). Er ist besonders praktisch, falls:

  • keine zusätzlichen Test-Abhängigkeiten gewünscht sind,
  • ein sehr kleines Projekt oder Skript getestet werden soll,
  • schnell ein Minimal-Setup-Check durchgeführt werden soll.

Für unser TUI-Projekt mit TypeScript bleibt Vitest in der Regel die bessere Standardwahl.

Minimal-Setup

In package.json:

{ "scripts": { "test:node": "node --test" } }

Beispiel:

// sum.js export function sum(a, b) { return a + b; }
// sum.test.js import { describe, it } from 'node:test'; import assert from 'node:assert/strict'; import { sum } from './sum.js'; describe('sum', () => { it('addiert zwei Zahlen', () => { assert.strictEqual(sum(2, 3), 5); }); });

Ausführen:

npm run test:node

Schnellvergleich zu Vitest

Themanode:testVitest
Installationkeine extra Test-Bibliotheknpm i -D vitest
Assertionsassert.*expect(...)
Watch/Ökosystemschlank, weniger Komfortfunktionenmehr Komfort (z. B. Watch-Workflow)
Empfehlung im KursoptionalStandard

API-Mapping (hilft beim Lesen beider Stile)

Konzeptnode:testVitest
Test-Suitedescribe(...)describe(...)
Einzeltestit(...)it(...)
Gleichheitassert.strictEqual(a, b)expect(a).toBe(b)
Fehler erwartenassert.throws(fn)expect(fn).toThrow()

Die Grundkonzepte von node:test und Vitest sind sehr ähnlich.