Integration Tests - MocStepan/pdo GitHub Wiki
Implementace integračních testů s matrix strategy
Jednoduchý tutoriál krok za krokem, jak nastavit GitHub Actions workflow se spuštěním npm test
na macOS, Windows a Linux, včetně samostatného kroku pro matrix strategy i varianty s hotovým container image.
Krok 1: Otevření workflow souboru
Otevři ve svém repozitáři soubor:
.github/workflows/pull-request.yaml
Krok 2: Definice názvu workflow
Na začátek souboru přidej:
name: CI Test
Krok 3: Nastavení triggeru (on)
Urči, kdy se workflow spustí:
on:
pull_request:
branches: [main]
Krok 4: Definice jobu test-app
Vytvoř job, který poběží na runneru podle matrix:
jobs:
test-app:
runs-on: ${{ matrix.os }}
Krok 5: Konfigurace matrix strategy
Přidej blok strategy.matrix, aby se job spouštěl na třech OS:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
Krok 6: Přidání kroků (steps)
Doplníme standardní kroky pro checkout, instalaci a spuštění testů:
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
Krok 7: Použití container image (volitelně)
Místo instalačních kroků můžeš využít hotový Docker image s Node.js. Přidej do jobu:
container:
image: node:18
A pak stačí jednoduché kroky:
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install & test
run: |
npm ci
npm test
Kompletní ukázka YAML s container image
name: CI Test
on:
pull_request:
branches: [main]
jobs:
test-app:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
# Volitelně, pokud chceš použít Docker container
container:
image: node:18
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install & test
run: |
npm ci
npm test