Testing Strategy — comprehensive testing approach in CI/CD pipelines.
1# GitHub Actions multi-stage testing2name: Test Pipeline3on: [push, pull_request]45jobs:6 unit-tests:7 runs-on: ubuntu-latest8 steps:9 - uses: actions/checkout@v410 - run: npm ci11 - run: npm run test:unit -- --coverage12 - uses: actions/upload-artifact@v413 with:14 name: coverage15 path: coverage/1617 integration-tests:18 needs: unit-tests19 runs-on: ubuntu-latest20 services:21 postgres:22 image: postgres:1523 env:24 POSTGRES_PASSWORD: test25 ports: ["5432:5432"]26 redis:27 image: redis:728 ports: ["6379:6379"]29 steps:30 - run: npm run test:integration3132 e2e-tests:33 needs: integration-tests34 runs-on: ubuntu-latest35 steps:36 - uses: cypress-io/github-action@v637 with:38 start: npm run dev39 wait-on: http://localhost:30004041 security-scan:42 runs-on: ubuntu-latest43 steps:44 - uses: aquasecurity/trivy-action@master45 with:46 scan-type: fs47 severity: HIGH,CRITICAL
Test Pyramid: