Tesztesetek egy függvényhez

Előbb listát kapsz arról, mit érdemes tesztelni (normál, szélső és hibás esetek), és csak a jóváhagyásod után készül el a tesztkód a projekted keretrendszerében.

FejlesztésKezdőAjánlott eszközök: ChatGPT, Claude, GeminiFrissítve:

Töltsd ki a saját adataiddal

A sárgával jelölt részeket cseréld a saját adataidra.

Segíts teszteket írni egy függvényhez. Két lépésben dolgozzunk. Nyelv és tesztkeretrendszer: [KERETRENDSZER] A függvény, és amit csinálnia kell: [ELVÁRT VISELKEDÉS] A kód: """ [KÓD] """ Meglévő tesztek stílusa, ha van minta: [MEGLÉVŐ TESZTMINTA] Első lépés: sorold fel táblázatban a teszteseteket: eset neve, bemenet, elvárt eredmény, miért fontos. Legyen benne normál működés, szélső eset (üres, nulla, negatív, nagyon nagy, határérték) és hibás bemenet. Ha az elvárt viselkedés egy esetben nem derül ki a leírásból, ne találd ki: tedd fel kérdésként a táblázat alatt. Itt állj meg, és várd meg a válaszomat. Második lépés, ha jóváhagytam: írd meg a teszteket. Egy teszt egy dolgot ellenőrizzen, a neve mondja meg, mit. Ne tesztelj implementációs részletet, csak megfigyelhető viselkedést. A függvényt ne módosítsd; ha szerinted hibás, a tesztek mellett jelezd.

EllenőrzésCtrl + Enter: másolás

Példa: kitöltve, mintaválasszal

Keretrendszer
JavaScript, Vitest
Elvárt viselkedés
A kedvezmeny(osszeg, szazalek) visszaadja a kedvezménnyel csökkentett árat, egész forintra kerekítve
Kód
export function kedvezmeny(osszeg, szazalek) { return Math.round(osszeg * (1 - szazalek / 100)); }
Meglévő tesztminta
describe/it blokkok, magyar nyelvű tesztnevek
Mintaválasz (Claude)
Eset Bemenet Elvárt eredmény Miért fontos
Szokásos kedvezmény 10000, 20 8000 alapműködés
Nincs kedvezmény 10000, 0 10000 határérték
Teljes kedvezmény 10000, 100 0 határérték
Kerekítés 999, 15 849 849,15 lefelé kerekül
Fél forintos eredmény 101, 50 51 50,5 felfelé kerekül (Math.round)
Nulla összeg 0, 20 0 szélső eset

Kérdések, mielőtt megírom a teszteket:

  1. Mi történjen 100 feletti százaléknál (például 120)? A kód most negatív árat ad.
  2. Mi történjen negatív százaléknál vagy negatív összegnél? Hiba, vagy 0?
  3. Szövegként érkező szám („20”) elfogadott bemenet?

Az 1. pont szerintem hiba a függvényben; a tesztet a válaszod alapján írom meg.

Szemléltető minta, Claude segítségével készült: azt mutatja, milyen jellegű és felépítésű válaszra számíthatsz. A többi ajánlott eszközzel a prompt várhatóan ugyanígy használható, de nem mindegyikben próbáltuk ki. A te eredményed más lesz. Hogyan készülnek a példák?

Miért működik?

Ha egyből tesztkódot kérsz, a modell azt teszteli, amit a kód most csinál, a hibáival együtt. A kétlépcsős menet előbb az elvárt viselkedést tisztázza, és a táblázat alatti kérdések gyakran valódi hibára mutatnak rá, ahogy a példában a 100 feletti százalék.

A táblázatot ráadásul gyorsabb átnézni, mint harminc sor tesztkódot.

Mire figyelj?

  • A zöld teszt csak azt jelenti, hogy a kód megfelel a tesztnek. Az elvárt eredményeket te ellenőrizd, főleg kerekítésnél és dátumoknál.
  • A kerekítés nyelvenként eltér (a JavaScript Math.round például a felet felfelé kerekíti). Pénzügyi számításnál rögzítsd a szabályt.

Tippek eszközönként

Kódasszisztensek (Cursor, Claude Code, Copilot)
Kérd meg, hogy a második lépés végén futtassa le a teszteket, és mutassa meg az eredményt.

Folytasd ezekkel

Ugyanabban a beszélgetésben küldd el, a válasz után.

  • A kérdésekre a válaszom: 100 felett és negatív értéknél dobjon hibát. Írd meg a teszteket.
  • Milyen esetet nem fed le ez a lista, ami éles használatban előfordulhat?

Kapcsolódó promptok

Összes fejlesztés prompt

Kódátnézés beküldés előtt

Tapasztalt kollégaként nézi át a módosításodat: hibák és biztonsági gondok súlyosság szerint, konkrét sorral és javítási javaslattal, ízlésbeli szőrszálhasogatás nélkül.

Fejlesztés

Funkció specifikálása kódolás előtt

Mielőtt kódot kérnél az AI-tól, írasd meg vele a tervet. A prompt kérdésekkel tisztázza az ötletedet, majd rövid specifikációt készít elfogadási feltételekkel.

Fejlesztés