🧪 Testing

Code Coverage

Track and improve test coverage across the codebase.

Running Coverage

# Full coverage report
yarn test --coverage

# Coverage for specific package
yarn test --project=@gauzy/core --coverage

# Open HTML report
open coverage/lcov-report/index.html

Coverage Targets

ComponentTargetDescription
Services80%+Business logic
Controllers70%+Request handling
DTOs/Validators90%+Input validation
Utilities90%+Helper functions
Guards80%+Auth/permissions
Interceptors70%+Cross-cutting concerns

Jest Coverage Config

{
  "coverageDirectory": "./coverage",
  "coveragePathIgnorePatterns": [
    "/node_modules/",
    "/dist/",
    "spec.ts$",
    "/migrations/"
  ],
  "coverageReporters": ["text", "lcov", "json-summary"],
  "coverageThresholds": {
    "global": {
      "branches": 60,
      "functions": 70,
      "lines": 75,
      "statements": 75
    }
  }
}

CI Integration

- name: Run Tests with Coverage
  run: yarn test --coverage --ci

- name: Upload Coverage
  uses: codecov/codecov-action@v4
  with:
    token: ${{ secrets.CODECOV_TOKEN }}
    files: ./coverage/lcov.info

Edit this page

Copyright © 2023-Present Ever Co. LTD.Docs by Sourcey