auto-testing
Automatically generate and run tests after each code change.Use when: any code is generated or modified in the pipeline.Triggers: internal use only.
When & Why to Use This Skill
This Claude skill automates the entire testing lifecycle by generating and executing test suites immediately after code modifications. It enhances software reliability and developer productivity by providing a seamless, background-driven quality assurance process that covers components, APIs, and utility functions, ensuring that every code change is validated against functional requirements.
Use Cases
- UI Component Verification: Automatically generate and run render and interaction tests for React or Vue components to ensure UI consistency after design changes.
- API Endpoint Validation: Ensure backend reliability by automatically testing request/response structures and status codes whenever API logic is updated.
- Regression Testing during Refactoring: Maintain system integrity by triggering automated unit tests after code refactors to prevent the introduction of new bugs.
- Continuous Integration Support: Streamline the development pipeline by running silent, internal tests after every feature addition, providing a simple pass/fail status to the user.
- Form and Auth Flow Testing: Validate complex user workflows like form submissions and authentication logic automatically to ensure security and data accuracy.
| name | auto-testing |
|---|---|
| description | | |
| Use when | any code is generated or modified in the pipeline. |
| Triggers | internal use only. |
Auto Testing
Run tests automatically. User sees only pass/fail.
When to Run
After every:
- Component generation
- Feature addition
- Code modification
- Refactoring
Test Generation
For each code change, generate:
| Code Type | Test Type |
|---|---|
| Component | Render, interaction |
| API endpoint | Request/response |
| Utility function | Unit tests |
| Form | Validation, submission |
| Auth flow | Login, logout, protected |
Test Patterns
Components
test('renders correctly', () => {
render(<Component />);
expect(screen.getByRole('button')).toBeInTheDocument();
});
test('handles click', async () => {
const onClick = jest.fn();
render(<Component onClick={onClick} />);
await userEvent.click(screen.getByRole('button'));
expect(onClick).toHaveBeenCalled();
});
API
test('returns data', async () => {
const response = await fetch('/api/items');
expect(response.status).toBe(200);
const data = await response.json();
expect(data.items).toBeDefined();
});
Reporting
| Status | User Sees |
|---|---|
| All pass | ✅ (nothing else) |
| Some fail | "Fixing issues..." then ✅ |
| Can't fix | ❌ + simple explanation |
Hidden Details
User never sees:
- Test file contents
- Number of tests
- Coverage percentage
- Individual test names
Only: ✅ works or ❌ problem