--- name: project-testing description: "Custom test patterns and fixtures for {project}. Covers E2E, integration, and specialized testing requirements." generated_by: ai-dev-kit:recommend-skills --- # {project} Testing Patterns Custom testing patterns, fixtures, and strategies for this project. ## Variables | Variable | Default | Description | |----------|---------|-------------| | COVERAGE_TARGET | 80 | Minimum coverage percentage | | E2E_TIMEOUT | 30000 | E2E test timeout in ms | | PARALLEL_TESTS | true | Run tests in parallel when possible | ## Instructions 1. Identify test type needed (unit/integration/e2e) 2. Use appropriate fixtures and patterns 3. Follow project naming conventions 4. Ensure proper cleanup ## Red Flags - STOP and Reconsider If you're about to: - Write a test without proper isolation - Skip cleanup in fixtures - Hardcode test data instead of using fixtures - Write flaky tests (timing-dependent, order-dependent) **STOP** -> Use proper fixtures -> Ensure isolation -> Then write test ## Test Categories ### Unit Tests Location: `tests/unit/` Patterns: - Test single functions/methods in isolation - Mock external dependencies - Fast execution (< 100ms each) ### Integration Tests Location: `tests/integration/` Patterns: - Test component interactions - Use test database/fixtures - May have external dependencies ### E2E Tests Location: `tests/e2e/` or `playwright/` Patterns: - Test full user workflows - Use browser automation - Longer execution time acceptable ## Fixtures ### Database Fixtures Location: `tests/fixtures/` Usage: ```python # Python example from tests.fixtures import sample_user, sample_order def test_order_creation(sample_user, sample_order): # Test uses pre-configured fixtures pass ``` ### Mock Services Location: `tests/mocks/` Available mocks: - [TODO: List project-specific mocks] ## Naming Conventions | Test Type | File Pattern | Function Pattern | |-----------|-------------|------------------| | Unit | `test_*.py` | `test__` | | Integration | `test_*_integration.py` | `test__` | | E2E | `*.spec.ts` | `test(' - ')` | ## Coverage Requirements | Component | Minimum Coverage | |-----------|-----------------| | Core logic | 90% | | API routes | 80% | | Utilities | 70% | ## CI Integration Tests run in CI: - On PR: unit + integration - On merge: all including E2E - Nightly: full regression suite ## Customization Edit this file to add: - New fixture definitions - Additional mock services - Custom test patterns - Coverage exceptions