Tesztelés¶
ESLint¶
Az ESLint egy statikus kódelemző eszköz, amely segít azonosítani és javítani a JavaScript kód hibáit és stílusproblémáit. A React projektekben gyakran használják az ESLint-et a kódminőség fenntartása érdekében.
Telepítés¶
Futtatás¶
Vagy pedig:
Próba¶
Csináljunk egy üres projektet és hozzunk létre az App.tsx fájlban egy változót, amit nem használunk:
Ezután futtassuk az ESLint-et:
Az ESLint figyelmeztetést fog adni a unusedVariable változó miatt, mivel az nincs használatban. Ez segít abban, hogy tisztán tartsuk a kódunkat és elkerüljük a felesleges változókat.
CI/CD¶
Lehetőségünk van automatikusan a repón belül futtatni a teszteket.
Ehhez hozzunk létre egy .github/workflows/ci.yml fájlt a következő tartalommal:
name: CI/CD
on:
push:
branches: [main, master]
jobs:
lint-and-test:
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 22
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
Husky¶
A Husky egy eszköz, amely lehetővé teszi a Git hook-ok egyszerű kezelését. Segítségével automatikusan futtathatunk teszteket vagy lintelést minden commit előtt, így biztosítva a kódminőséget.

Telepítés¶
Pre-commit hook létrehozása¶
A Husky segítségével létrehozhatunk egy pre-commit hook-ot, amely automatikusan futtatja az ESLint-et minden commit előtt. Amennyiben a lintelés hibát talál, a commit nem fog végrehajtódni, így biztosítva, hogy csak tiszta kód kerüljön a verziókezelőbe.
Hozzunk létre egy .husky könyvtárat a projekt gyökerében, majd adjuk ki az alábbi parancsot CMD-ben:
Próba¶
Most próbáljuk meg commitolni olyan fájlt, amelyben szándékosan hagyunk egy lint hibát, például egy nem használt változót.
Amikor megpróbáljuk commitolni a változtatásokat, a Husky automatikusan futtatja az ESLint-et, és ha hibát talál, megakadályozza a commit végrehajtását.
Egyéb hook-ok¶
A Husky nem csak a pre-commit hook-okat támogatja, hanem számos más Git hook-ot is, mint például a pre-push, post-merge, vagy akár a commit-msg. Ezek segítségével különböző műveleteket hajthatunk végre a Git műveletek során, például futtathatunk teszteket push előtt vagy ellenőrizhetjük a commit üzenetek formátumát.
Vitest¶
Telepítsük fel a szükséges csomagot:
Módosítsuk a package.json fájlt, hogy a tesztparancs a Vitest-et használja:
Statikus tartalom tesztelése¶
Ellenőrizzük, hogy létezik-e a Vite + React szöveg az oldalon.
App.tsx¶
App.test.tsx¶
Hozzunk létre egy App.test.tsx fájlt a következő tartalommal:
| App.test.tsx | |
|---|---|
Futtatás¶
API hívás tesztelése¶
Használjuk a korábbi pizzák backendet és teszteljük, hogy megjelenik-e a Margherita pizza.
App.tsx¶
App.test.tsx¶
Telepítsük az alábbi csomagokat:
Módosítsuk a kódot:
Futtatás¶
Futtassuk a teszteket: