38 lines
1.3 KiB
Markdown
38 lines
1.3 KiB
Markdown
|
|
---
|
||
|
|
name: test-validation
|
||
|
|
description: Use existing test/build tooling for validation - no invented commands.
|
||
|
|
tags: ['testing', 'validation', 'ci']
|
||
|
|
---
|
||
|
|
|
||
|
|
# Test Validation
|
||
|
|
|
||
|
|
## Purpose
|
||
|
|
Run the project's existing test and build tooling to validate a change, without inventing new commands.
|
||
|
|
|
||
|
|
## When to Use
|
||
|
|
- After any implementation block
|
||
|
|
- Before declaring a feature complete
|
||
|
|
- Before a release
|
||
|
|
- When verifying a bug fix
|
||
|
|
|
||
|
|
## When Not to Use
|
||
|
|
- When no test framework exists (create one first, see implementation_engineer)
|
||
|
|
- For purely documentation changes (no test needed)
|
||
|
|
|
||
|
|
## Procedure
|
||
|
|
1. Discover test framework from package.json, requirements.txt, Makefile, etc.
|
||
|
|
2. Discover build command from the same files
|
||
|
|
3. Run tests using the discovered command (e.g., `npm test`, `pytest`, `make test`)
|
||
|
|
4. Run build using the discovered command (e.g., `npm run build`, `make build`)
|
||
|
|
5. Capture pass/fail counts and detailed failure output
|
||
|
|
6. If failures, classify and delegate to test_debug_engineer for root cause
|
||
|
|
|
||
|
|
## Quality Gates
|
||
|
|
- Tests pass (no failures, no skips without justification)
|
||
|
|
- Build succeeds without warnings (or warnings documented)
|
||
|
|
- Type check passes (e.g., `tsc --noEmit`, `mypy`)
|
||
|
|
|
||
|
|
## See Also
|
||
|
|
- Tool: `terminal` (for running test commands)
|
||
|
|
- Subagent: `test_debug_engineer`
|