Interviewfrage für React-Entwickler

Wie testest du React-Komponenten, und was testest du bewusst nicht?

Worauf der Interviewer abzielt, wie du deine Antwort aufbaust und ein gesprochenes Beispiel zum Anpassen.

Kurzantwort

Teste Verhalten über dieselbe Oberfläche, die ein User hat: Komponente rendern, per Rolle und barrierefreiem Namen abfragen, interagieren und darauf prüfen, was erscheint. Deck die Logik ab, die wirklich kaputtgehen kann, etwa bedingtes Rendern, Fehler- und Leerzustände und Custom Hooks. Teste keine Implementierungsdetails wie internen State, Prop Drilling oder dass eine Child-Komponente aufgerufen wurde, solche Tests brechen bei jedem Refactoring und fangen nichts.

Warum Interviewer das fragen

Der Interviewer sucht eine Testphilosophie, keine Werkzeugliste. Er will das Prinzip Verhalten vor Implementierung hören, vernünftige Grenzen zwischen Unit, Integration und End to End und eine Meinung zu Mocking, denn übermockte Tests laufen grün, während die Produktion brennt. Zu benennen, was du auslässt, ist oft aussagekräftiger, als zu benennen, was du abdeckst, weil es zeigt, dass du eine Suite über Zeit gepflegt hast.

So baust du deine Antwort auf

  • Nenn das Prinzip: teste, was der User beobachten kann.
  • Beschreib kurz deinen Abfrage- und Interaktionsstil.
  • Sag, wo du beim Mocking die Grenze ziehst, besonders beim Netzwerk.
  • Benenn, was du auslässt und warum solche Tests eine Last sind.

Beispielantwort

Gesprochenes Beispiel, erste Person

Meine Regel ist, dass ein Test nur dann rot werden soll, wenn sich das für den User sichtbare Verhalten ändert. Ich rendere die Komponente also mit Testing Library, frage per Rolle und barrierefreiem Namen ab, klicke und tippe wie ein Mensch und prüfe, was auf dem Bildschirm steht. Das hat einen netten Nebeneffekt: Wenn ich etwas nicht per Rolle abfragen kann, hat das Markup meist ein Barrierefreiheitsproblem. Beim Netzwerk fange ich auf HTTP-Ebene ab, statt meine eigene Datenschicht zu mocken, denn mein eigenes Modul zu mocken heißt, meinen Mock zu testen. Der meiste Wert kommt aus der mittleren Ebene, ein ganzes Feature mit echten Children und einem gefakten Server, statt ein Test pro Komponente. Was ich nicht teste: internen State, dass ein Helper aufgerufen wurde, Snapshot-Dateien ganzer Bäume oder Styling. Das alles bricht bei harmlosen Refactorings und läuft grün, während wirklich etwas kaputt ist. Dazu deckt eine kleine Zahl End-to-End-Tests die Flows ab, die sich das Geschäft nicht leisten kann zu verlieren, etwa Signup und Checkout, und das war es.

Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.

So funktioniert es

Nachfragen, mit denen du rechnen solltest

  • Wie testest du einen Custom Hook isoliert?
  • Wo ziehst du die Grenze zwischen einem Integrationstest und einem End-to-End-Test?
  • Wie gehst du mit einem flakigen Test um, der von Timing abhängt?

Weitere Fragen für React-Entwickler

Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.

Meine Fragen vorhersagen

Üb die harten Fragen, bevor sie gestellt werden

Trainier mit einem Live-Copiloten und geh dann vorbereitet rein. Ein $29 Session Pass bringt dich durch das Vorstellungsgespräch, ohne Abo und ohne Bindung.

GhostPilot holen