MAISON CODE .
/ Tech · Testing · QA · Jest · Best Practices

Unit-Tests: Das Sicherheitsnetz, auch bekannt als „Wie man nachts schläft“.

100 % Codeabdeckung ist eine Vanity-Metrik. Wie man mit Jest aussagekräftige Unit-Tests schreibt, die echte Fehler erkennen, ohne Refactoring zu verhindern.

AB
Alex B.
Unit-Tests: Das Sicherheitsnetz, auch bekannt als „Wie man nachts schläft“.

Warum Maison Code darüber spricht

Bei Maison Code Paris fungieren wir als das architektonische Gewissen unserer Kunden. Wir übernehmen oft „moderne“ Stacks, die ohne grundlegendes Verständnis für Skalierung gebaut wurden.

Wir diskutieren dieses Thema, weil es einen kritischen Wendepunkt in der technischen Reife darstellt. Die korrekte Implementierung unterscheidet ein fragiles MVP von einer widerstandsfähigen Plattform auf Unternehmensniveau.

Die Vertrauenskrise

Sie müssen eine Kernfunktion umgestalten. Möglicherweise liegt es an der Funktion „calculateTax()“ im Checkout. Es ist chaotisch. Es verfügt über verschachtelte „if“-Anweisungen. Es verwendet alte Syntax. Du willst es aufräumen. Aber du hast Angst. Sie fragen sich: „Wenn ich das berühre und gegen eine bestimmte Steuerregel für deutsche Großhandelskunden verstoße, werde ich es dann erfahren?“ Wenn die Antwort „Nein“ lautet, sind Sie gelähmt. Also lässt du es. Der „Legacy Code“ bleibt bestehen. Es verrottet. Es wird zum „Gruselordner“, den niemand berührt. Unit-Tests sind das Heilmittel für diese Lähmung. Sie frieren das Verhalten des Codes zeitlich ein. Sie garantieren: „Diese Funktion MUSS bei gegebener Eingabe „2“ „4“ zurückgeben.“ Wenn dieser Vertrag gilt, können Sie die interne Implementierung nach Ihren Wünschen umschreiben. Tests erleichtern Aggressives Refactoring. Ohne Tests ist Refactoring nur „Vermutung“.

Warum Maison Code Unit-Tests diskutiert

Bei Maison Code führen wir häufig „Rettungsmissionen“ auf älteren Plattformen durch. Wir finden Codebasen, vor deren Bereitstellung sich Entwickler fürchten. „Fassen Sie das UserSync-Modul nicht an, es geht kaputt, wenn Sie es falsch betrachten.“ Diese Angst lähmt das Geschäft. Neue Funktionen benötigen Monate, da 80 % der Zeit für manuelle Regressionstests aufgewendet werden. Wir glauben, dass testbarer Code sauberer Code ist. Wir implementieren robuste Unit-Testing-Suiten mit Jest/Vitest, um dem Team sein Selbstvertrauen zurückzugeben. Wenn die Tests grün sind, erfolgt die Bereitstellung. So einfach ist das. Wir verwandeln den „Deployment Friday“ von einem Albtraum in ein Nicht-Ereignis.

Das Tool: Jest / Vitest

  • Scherz: Der Amtsinhaber. Verwaltet von Meta. Standard in Create React App / Next.js. Kraftvoll, aber schwer.
  • Vitest: Der Herausforderer. Unterstützt von Vite. Es ist funktional identisch mit Jest (kompatible API), aber 10x schneller, da es ES-Module nativ verwendet. Wir werden hier die Jest-Syntax verwenden, da sie für beide gilt. Die Konzepte sind universell.

Die Strategie: Was testen?

Hier scheitern Teams. Die Falle der „100 %-Abdeckung“. Manager sehnen sich nach „100 % Code-Abdeckung“. Sie haben es in die OKRs geschrieben. Dies führt zu nutzlosen Tests.

Schlechter Test (Testen des Frameworks): „Javascript const Button = ({ label }) => ;

test(‘Button rendert’, () => { render(