115 lines
4.5 KiB
Markdown
115 lines
4.5 KiB
Markdown
---
|
|
name: ck:test
|
|
description: "Run unit, integration, e2e, and UI tests. Use for test execution, coverage analysis, build verification, visual regression, and QA reports."
|
|
argument-hint: "[context] OR ui [url]"
|
|
metadata:
|
|
author: claudekit
|
|
version: "1.0.0"
|
|
---
|
|
|
|
# Testing & Quality Assurance
|
|
|
|
Comprehensive testing framework covering code-level testing (unit, integration, e2e), UI/visual testing via browser automation, coverage analysis, and structured QA reporting.
|
|
|
|
## Default (No Arguments)
|
|
|
|
If invoked with context (test scope), proceed with testing. If invoked WITHOUT arguments, use `AskUserQuestion` to present available test operations:
|
|
|
|
| Operation | Description |
|
|
|-----------|-------------|
|
|
| `(default)` | Run unit/integration/e2e tests |
|
|
| `ui` | Run UI tests on a website |
|
|
|
|
Present as options via `AskUserQuestion` with header "Test Operation", question "What would you like to do?".
|
|
|
|
## Core Principle
|
|
|
|
**NEVER IGNORE FAILING TESTS.** Fix root causes, not symptoms. No mocks/cheats/tricks to pass builds.
|
|
|
|
## When to Use
|
|
|
|
- **After implementation**: Validate new features or bug fixes
|
|
- **Coverage checks**: Ensure coverage meets project thresholds (80%+)
|
|
- **UI verification**: Visual regression, responsive layout, accessibility
|
|
- **Build validation**: Verify build process, dependencies, CI/CD compatibility
|
|
- **Pre-commit/push**: Final quality gate
|
|
|
|
## Workflows
|
|
|
|
### 1. Code Testing (`references/test-execution-workflow.md`)
|
|
|
|
Execute test suites, analyze results, generate coverage. Supports JS/TS (Jest/Vitest/Mocha), Python (pytest), Go, Rust, Flutter. Includes working process, quality standards, and tool commands.
|
|
|
|
**Load when:** Running unit/integration/e2e tests, checking coverage, validating builds
|
|
|
|
### 2. UI Testing (`references/ui-testing-workflow.md`)
|
|
|
|
Browser-based visual testing via `ck:chrome-devtools` skill. Screenshots, responsive checks, accessibility audits, form automation, console error collection. Includes auth injection for protected routes.
|
|
|
|
**Load when:** Visual regression testing, UI bugs, responsive layout checks, accessibility audits
|
|
|
|
### 3. Report Format (`references/report-format.md`)
|
|
|
|
Structured QA report template: test results overview, coverage metrics, failed tests, performance, build status, recommendations.
|
|
|
|
**Load when:** Generating test summary reports
|
|
|
|
## Quick Reference
|
|
|
|
```
|
|
Code tests → test-execution-workflow.md
|
|
npm test / pytest / go test / cargo test / flutter test
|
|
Coverage: npm run test:coverage / pytest --cov
|
|
|
|
UI tests → ui-testing-workflow.md
|
|
Screenshots, responsive, a11y, forms, console errors
|
|
Auth: inject-auth.js for protected routes
|
|
|
|
Reports → report-format.md
|
|
Structured QA summary with metrics & recommendations
|
|
```
|
|
|
|
## Working Process
|
|
|
|
1. Identify testing scope from recent changes or requirements
|
|
2. Run typecheck/analyze commands to catch syntax errors first
|
|
3. Execute appropriate test suites
|
|
4. Analyze results — focus on failures
|
|
5. Generate coverage reports if applicable
|
|
6. For frontend: run UI tests via `ck:chrome-devtools` skill
|
|
7. Produce structured summary report
|
|
|
|
## Tools Integration
|
|
|
|
- **Test runners**: Jest, Vitest, Mocha, pytest, go test, cargo test, flutter test
|
|
- **Coverage**: Istanbul/c8/nyc, pytest-cov, go cover
|
|
- **Browser**: `ck:chrome-devtools` skill for UI testing (screenshots, ARIA, console, network)
|
|
- **Analysis**: `ck:ai-multimodal` skill for screenshot analysis
|
|
- **Debugging**: `ck:debug` skill when tests reveal bugs requiring investigation
|
|
- **Thinking**: `ck:sequential-thinking` skill for complex test failure analysis
|
|
|
|
## Quality Standards
|
|
|
|
- All critical paths must have test coverage
|
|
- Validate happy path AND error scenarios
|
|
- Ensure test isolation — no interdependencies
|
|
- Tests must be deterministic and reproducible
|
|
- Clean up test data after execution
|
|
- Never ignore failing tests to pass the build
|
|
|
|
## Report Output
|
|
**IMPORTANT:** Invoke "/ck:project-organization" skill to organize the outputs.
|
|
|
|
Use naming pattern from `## Naming` section injected by hooks.
|
|
|
|
## Team Mode
|
|
|
|
When operating as teammate:
|
|
1. On start: check `TaskList`, claim assigned/next unblocked task via `TaskUpdate`
|
|
2. Read full task description via `TaskGet` before starting
|
|
3. Wait for blocked tasks (implementation) to complete before testing
|
|
4. Respect file ownership — only create/edit test files assigned
|
|
5. When done: `TaskUpdate(status: "completed")` then `SendMessage` results to lead
|
|
|
|
**Fallback:** Task tools (`TaskList`/`TaskUpdate`/`TaskGet`) are CLI-only — unavailable in VSCode extension. If they error, use `TodoWrite` for progress tracking and coordinate via `SendMessage` only.
|