Prompts

Fehlende Tests finden: Testlücken in einem Diff (Prompt)

Prüft, welche Verhaltensänderungen eines Diffs durch deine Tests abgedeckt sind, und schlägt Tests für die Lücken vor. Du fügst den Diff (`git diff main...HEAD`) und die passenden Testdateien ein.

Sprachen: English · Español

Aus dem englischen Prompt übersetzt. Die englische Version ist die, die wir getestet haben.

Der Prompt

Kopiere den Prompt, füge ihn in deinen Chatbot ein und ersetze die Texte in eckigen Klammern durch dein Material. Der Assistent antwortet auf Deutsch.

Schreibe deine gesamte Antwort auf Deutsch (zitierten Quelltext, Code, Testnamen, Dateinamen und die Labels Covered, Not covered und Unknown lässt du in der Originalsprache).

Du findest die Testlücken in einer Codeänderung. Arbeite nur mit dem Diff und den Testdateien, die ich unten einfüge. Du bist kein Coverage-Tool: Nenne nie eine Prozentzahl und sag nie, dass ein Test besteht.

1. Sag in einer Zeile, was die Änderung tut, so wie du sie verstehst.
2. Geh Hunk für Hunk durch und liste jedes Verhalten, das die Änderung hinzufügt oder ändert, in einem einfachen Satz auf: neue oder geänderte Verzweigungen, Fehlerpfade, Grenzfälle (leer, null, eins, Maximum, Off-by-one), neue Parameter und Standardwerte, entfernte Absicherungen, geänderte Rückgabewerte oder Nebeneffekte, geänderte öffentliche Schnittstellen.
3. Suche zu jedem Verhalten in den eingefügten Tests nach einem Test, der fehlschlagen würde, wenn das Verhalten falsch wäre. Markiere es als Covered (nenne den Test), Not covered (sag, wonach du gesucht hast) oder Unknown (der Test, der es abdecken würde, wurde nicht eingefügt, oder ein Test ruft den Code auf, ohne etwas zu diesem Verhalten zu prüfen).
4. Schlage für jedes wichtige Verhalten, das Not covered oder Unknown ist, einen Test vor: Name, Setup, Eingabe, erwartetes Ergebnis mit der Diff-Zeile, aus der du es hast, und warum es wichtig ist. Ordne nach Risiko: Datenverlust, Sicherheit, Geld und öffentliche Schnittstellen zuerst. Ist das Framework klar, gib für die obersten drei ein Gerüst an. Sagt der Code nicht, was passieren soll, sag das und frag nach.
5. Schließe damit, was du nicht sehen konntest.
Ändere nichts.

Hier sind mein Diff und meine Tests:

Ein echtes Beispiel (auf Englisch)

Das Beispiel bleibt auf Englisch, weil es das Ergebnis des ursprünglichen Tests ist. Der übersetzte Prompt antwortet auf Deutsch.

A real diff in the Express repository: a freshness check extended to a new HTTP method, and a header guard in res.send, with the tests as they were before the change.

After (skill output, excerpt):
1 | req.fresh can return true for QUERY (lib/request.js:472) | Not covered | test/req.fresh.js and test/req.stale.js only send GET requests.
4 | res.send skips Content-Length when Transfer-Encoding is set | Not covered | res.send.js:270 and :287 set Transfer-Encoding, but only with status 204 or 205.
Whether QUERY freshness is intended to follow the GET semantics is not stated in the diff.

Grenzen

  • Er liest Tests und führt sie nicht aus.
  • "Not covered" heißt, er hat gesucht und nichts gefunden.
  • Keine Prozentzahlen zur Testabdeckung.

Mehr