„Testăm după lansare” sau „n-avem timp de teste” sunt frazele care costă cel mai scump în dezvoltare. Testele automate îți spun în 10 secunde dacă o modificare a stricat ceva care funcționa. Două instrumente acoperă 90% din nevoi: Vitest pentru logică și Playwright pentru browser.
Ce e un test unitar și de ce îl scrii
Un test unitar verifică o funcție sau o componentă izolată: „dacă trec astea, primesc asta”. Vitest e un runner de teste modern, rapid, creat pentru TypeScript și Vite. Exemplu:
import { describe, it, expect } from 'vitest'
it('calculează prețul cu TVA', () => {
expect(pretCuTva(100)).toBe(119)
})
Fiecare test mic e o captură a comportamentului așteptat. Când cineva (sau un AI) schimbă codul în viitor, testul prinde dacă comportamentul s-a stricat – înainte să ajungă la utilizatori.
Ce testează Playwright
Playwright controlează un browser real: deschide pagina, dă click, completează formulare, verifică rezultate. Exact ce face un utilizator, dar în mod automat, de o mie de ori mai repede. Testul de bază al unui site de afaceri:
- Se încarcă pagina principală fără erori de consolă.
- Formularul de contact trimite și afișează confirmarea.
- Navigarea funcționează pe mobil și desktop.
Nu orice test merită scris
Testează logică de valoare (prețuri, validări, calcul), fluxuri critice (login, checkout, formular de ofertă) și regresii (bug-uri remediate). Nu testa culorile și pixelii – acelea se schimbă des și consumă timp fără valoare. Regula: 20% din testele care acoperă 80% din riscuri.
Testele în workflow: CI care blochează bug-urile
Testele devin utile când rulează automat la fiecare modificare: în GitHub Actions sau în CI-ul platformei tale. Dacă un test pică, merge-ul e blocat. E gardianul care ține codul prost departe de producție, fără să depindă de vigilența cuiva.
Începi cu un singur test
Nu trebuie să acoperi totul într-o săptămână. Scrie primul test pentru partea cea mai fragilă a aplicației tale (de obicei calculul prețurilor sau formularul de comenzi), apoi crește treptat. La aplicațiile web pe care le dezvolt, testele esențiale fac parte din livrabil – primești nu doar cod, ci și garanția că nu se strică la prima modificare.