Next.js Adversarial QA & Edge-Case Injection (nextjs-adversarial-qa)
Spezialisierter Workflow zur Eliminierung von Autoren-Bestätigungsfehlern, indem Code-Review und Edge-Case-Tests an einen unabhängigen, adversarialen Prüf-Subagenten delegiert werden.
[!TIP] Referenzdokument:
- Häufige Fallstricke und Anti-Patterns:
references/pitfalls.md
Architekturregeln und Standards
1. Das Prinzip des unvoreingenommenen Prüfers
- Der primäre Agent, der die Komponente geschrieben hat, DARF Edge Cases NICHT selbst zertifizieren.
- Sie MÜSSEN einen unabhängigen Subagenten mittels
invoke_subagentstarten, um den Code zu prüfen und adversarialen Assertions zu injizieren.
2. Adversarialer Edge-Case-Umfang ([ComponentName].edge.test.tsx)
Der Subagent MUSS [ComponentName].edge.test.tsx schreiben, das auf Szenarien abzielt, die Entwickler häufig übersehen:
- Grenzwerte: Leere Strings, null/undefined-Eingaben, extrem lange Strings, Unicode und persische RTL-Glyphen (
"سلام دنیا"). - Prop-Permutationen: Nicht behandelte Kombinationen optionaler Flags.
- Netzwerk- und Fehlerzustände: Asynchrone Ablehnungen, fehlerhafte Payloads, langsame Streams.
- Tiefgehende Barrierefreiheit und Bewegung: Tastaturnavigation (
Enter,Space,Tab,Escape),aria-expanded,aria-busy,aria-live, Fokus-Fallen undprefers-reduced-motion. - Stress und Lebenszyklus: Schnelle Neu-Renderings, Aufräumen beim Entfernen, Timer-Bereinigung.
3. Das Prinzip der unveränderlichen adversarialen Tests
- Ändern oder Abschwächen von Tests ist STRENGSTENS UNTERSAGT: Der Entwickler darf NICHT Assertions in
[ComponentName].edge.test.tsxlöschen oder abschwächen. - Reparieren Sie den Code, nicht die Tests: Wenn ein adversarialer Test fehlschlägt, ändern Sie die Komponentenimplementierung (
[ComponentName].tsx) oder die Story ([ComponentName].stories.tsx), um den Edge Case korrekt zu behandeln.
Workflow-Schritte
-
Schritt 1: Adversarialen Prüf-Subagenten starten
- Rufen Sie
invoke_subagentauf mit:TypeName:"self"Role:"Adversarialer Code- und QA-Prüfer"Model:"inherit"Prompt: Weisen Sie den Prüfer an,[ComponentName].tsx,[ComponentName]Skeleton.tsx,[ComponentName].test.tsxund[ComponentName].stories.tsxzu inspizieren und dann[ComponentName].edge.test.tsxim Komponentenverzeichnis zu generieren.
- Rufen Sie
-
Schritt 2: Prüfer injiziert
[ComponentName].edge.test.tsx- Der Prüfer schreibt Edge-Case-Assertions und schließt das Review ab.
-
Schritt 3: Adversarialen Tests ausführen und automatisch reparieren
- Führen Sie die Edge-Case-Testsuite aus:
pnpm test -- <target_component_dir>/[ComponentName].edge.test.tsx - Wenn ein Test fehlschlägt, patchen Sie die Komponentenimplementierung, bis alle Edge-Tests mit 0 Fehlern bestehen.
- Führen Sie die Edge-Case-Testsuite aus: