📖
Teorie
Typy chyb: syntaktické, překladové, běhové (výjimky), logické. Prevence: typová kontrola, statická analýza, code review. Testování: jednotkové (unit), integrační, systémové, akceptační, regresní, performance. TDD cyklus: Red → Green → Refactor. Ladění: breakpointy, logging, profilování, trace. Metriky kvality: pokrytí testy, mutační testování.
🎯
Tahák
- 1AAA vzor testu: Arrange–Act–Assert
- 2TDD: Red/Green/Refactor
- 3Unit vs. integrační vs. E2E
- 4Výjimky a jejich zachytávání
❓
Typické otázky u maturity
- 1Co je mocking a kdy ho použít?
- 2Jak poznáte flaky test?
🏷️
Klíčová slova
TDDunit testcoveragedebuggerprofilace
⚡
Praktická část
Zadání:
Napište jednotkový test pro funkci oddělující unikátní prvky.
Kroky:
- 1Definuj vstup s duplicitami
- 2Očekávej bez duplicit
- 3Ošetři prázdný vstup
Kód:
unique.test.ts
import { unique } from './unique';
test('unique', () => {
expect(unique([1,1,2,3,3])).toEqual([1,2,3]);
expect(unique([])).toEqual([]);
});unique.ts
export const unique = <T>(a: T[]) => Array.from(new Set(a));