Execute and generate Jest tests for JavaScript/TypeScript projects with support for unit, integration, and E2E testing
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
REFERENCE.mdgenerate-test.jsrun-test.jstemplates/integration-test.template.jstemplates/unit-test.template.jsProvide comprehensive Jest test execution and generation capabilities for JavaScript and TypeScript projects, supporting:
Create a test file from a bug report or feature description:
node generate-test.js \
--source src/components/Button.js \
--output tests/components/Button.test.js \
--type unit \
--description "Button component fails to handle click events"
Run Jest tests and return structured results:
node run-test.js \
--file tests/components/Button.test.js \
--config jest.config.js
--source <path> - Source file to test (required)--output <path> - Output test file path (required)--type <unit|integration|e2e> - Test type (default: unit)--description <text> - Bug description or test purpose--framework <react|node|express> - Framework-specific patterns--file <path> - Test file to execute (required)--config <path> - Jest config file (optional)--coverage - Run with coverage report--watch - Run in watch mode (not recommended for CI)Returns JSON with generated test file information:
{
"success": true,
"testFile": "tests/components/Button.test.js",
"testCount": 3,
"template": "unit-test",
"framework": "react"
}
Returns JSON with test results:
{
"success": false,
"passed": 2,
"failed": 1,
"total": 3,
"duration": 1.234,
"failures": [
{
"test": "Button handles click events",
"error": "Expected onClick to be called",
"file": "tests/components/Button.test.js",
"line": 15
}
]
}
For testing individual functions or components in isolation:
For testing multiple components working together:
For testing complete user journeys:
import { render, fireEvent, screen } from '@testing-library/react';
import { Button } from '../components/Button';
describe('Button', () => {
it('handles click events', () => {
const onClick = jest.fn();
render(<Button onClick={onClick}>Click me</Button>);
fireEvent.click(screen.getByText('Click me'));
expect(onClick).toHaveBeenCalled();
});
});
const request = require('supertest');
const app = require('../app');
describe('GET /api/users', () => {
it('returns list of users', async () => {
const res = await request(app).get('/api/users');
expect(res.status).toBe(200);
expect(res.body).toBeInstanceOf(Array);
});
});
The deep-debugger agent uses this skill for:
Example workflow:
1. deep-debugger receives bug report
2. Invokes test-detector to identify Jest
3. Invokes jest-test/generate-test.js to create failing test
4. Invokes jest-test/run-test.js to validate test fails
5. Delegates fix to appropriate specialist agent
6. Invokes jest-test/run-test.js to verify fix
Requires Jest to be installed in the project:
npm install --save-dev jest @types/jest
For React testing:
npm install --save-dev @testing-library/react @testing-library/jest-dom
{
"success": false,
"error": "Source file not found",
"file": "src/components/Missing.js"
}
{
"success": false,
"error": "Jest configuration not found",
"config": "jest.config.js"
}