jest
npx skills add https://github.com/teachingai/full-stack-skills --skill jest
Agent 安装分布
Skill 文档
When to use this skill
Use this skill whenever the user wants to:
- Write unit tests and integration tests with Jest
- Set up Jest in a project
- Use Jest matchers and assertions
- Test asynchronous code
- Mock functions, modules, and dependencies
- Create snapshot tests
- Configure Jest for different environments
- Use Jest with TypeScript, React, Vue, or other frameworks
- Run tests and generate coverage reports
- Use Jest CLI commands
- Set up test environments (jsdom, node)
- Use Jest with Vite (via vite-jest, though Vitest is recommended for new Vite projects)
How to use this skill
This skill is organized to match the Jest official documentation structure (https://jestjs.io/docs/getting-started, https://jestjs.io/docs/api). When working with Jest:
-
Identify the topic from the user’s request:
- Getting started/å¿«éå¼å§ â
examples/getting-started/installation.mdorexamples/getting-started/using-matchers.md - Testing/æµè¯ â
examples/testing/asynchronous.mdorexamples/testing/setup-teardown.md - Mock functions/Mock 彿° â
examples/testing/mock-functions.md - Mock modules/Mock 模å â
examples/testing/manual-mocks.md - Snapshots/å¿«ç
§ â
examples/testing/snapshot-testing.md - Configuration/é
ç½® â
examples/configuration/jest-config.md - CLI/å½ä»¤è¡ â
examples/configuration/cli-options.md
- Getting started/å¿«éå¼å§ â
-
Load the appropriate example file from the
examples/directory:Getting Started (å¿«éå¼å§) –
examples/getting-started/:examples/getting-started/installation.md– Installing Jest and basic setupexamples/getting-started/using-matchers.md– Using Jest matchers and assertions
Testing (æµè¯) –
examples/testing/:examples/testing/asynchronous.md– Testing asynchronous codeexamples/testing/setup-teardown.md– Setup and teardown functionsexamples/testing/mock-functions.md– Mocking functionsexamples/testing/manual-mocks.md– Manual mocksexamples/testing/snapshot-testing.md– Snapshot testingexamples/testing/timer-mocks.md– Mocking timersexamples/testing/es6-class-mocks.md– Mocking ES6 classes
Configuration (é ç½®) –
examples/configuration/:examples/configuration/jest-config.md– Jest configuration optionsexamples/configuration/cli-options.md– CLI options and flagsexamples/configuration/babel.md– Using Jest with Babelexamples/configuration/typescript.md– Using Jest with TypeScript
Guides (æå) –
examples/guides/:examples/guides/migrating-to-jest.md– Migrating to Jestexamples/guides/testing-react-apps.md– Testing React applicationsexamples/guides/testing-vue-apps.md– Testing Vue applications
-
Follow the specific instructions in that example file for syntax, structure, and best practices
Important Notes:
- All examples follow Jest best practices
- Examples include both JavaScript and TypeScript versions where applicable
- Each example file includes key concepts, code examples, and key points
- Always check the example file for best practices and common patterns
-
Reference API documentation in the
api/directory when needed:api/expect.md– expect() API and matchersapi/mock-functions.md– Mock functions APIapi/jest-object.md– Jest object APIapi/test.md– test() and describe() APIapi/cli.md– CLI commands and options
-
Use templates from the
templates/directory:templates/jest-config.md– Jest configuration templatestemplates/test-template.md– Test file templatestemplates/setup-file.md– Setup file templates
Doc mapping (one-to-one with https://jestjs.io/docs/getting-started, https://jestjs.io/docs/api)
Getting Started (å¿«éå¼å§):
examples/getting-started/installation.mdâ https://jestjs.io/docs/getting-startedexamples/getting-started/using-matchers.mdâ https://jestjs.io/docs/using-matchers
Testing (æµè¯):
examples/testing/asynchronous.mdâ https://jestjs.io/docs/asynchronousexamples/testing/setup-teardown.mdâ https://jestjs.io/docs/setup-teardownexamples/testing/mock-functions.mdâ https://jestjs.io/docs/mock-functionsexamples/testing/manual-mocks.mdâ https://jestjs.io/docs/manual-mocksexamples/testing/snapshot-testing.mdâ https://jestjs.io/docs/snapshot-testingexamples/testing/timer-mocks.mdâ https://jestjs.io/docs/timer-mocksexamples/testing/es6-class-mocks.mdâ https://jestjs.io/docs/es6-class-mocks
Configuration (é ç½®):
examples/configuration/jest-config.mdâ https://jestjs.io/docs/configurationexamples/configuration/cli-options.mdâ https://jestjs.io/docs/cli
API Reference:
api/expect.mdâ https://jestjs.io/docs/expectapi/mock-functions.mdâ https://jestjs.io/docs/mock-functionsapi/jest-object.mdâ https://jestjs.io/docs/jest-objectapi/test.mdâ https://jestjs.io/docs/api#testname-fn-timeoutapi/cli.mdâ https://jestjs.io/docs/cli
Examples and Templates
This skill includes detailed examples organized to match the official documentation structure. All examples are in the examples/ directory (see mapping above).
To use examples:
- Identify the topic from the user’s request
- Load the appropriate example file from the mapping above
- Follow the instructions, syntax, and best practices in that file
- Adapt the code examples to your specific use case
To use templates:
- Reference templates in
templates/directory for common scaffolding - Adapt templates to your specific needs and coding style
Best Practices
- Write descriptive test names: Use clear, descriptive test names
- Use appropriate matchers: Choose the right matcher for each assertion
- Mock external dependencies: Mock external APIs, databases, and services
- Test edge cases: Test both happy paths and error cases
- Keep tests isolated: Each test should be independent
- Use setup and teardown: Clean up resources properly
- Snapshot testing: Use snapshots for UI components, but review changes
- Coverage goals: Aim for meaningful coverage, not just high percentages
- Organize tests: Group related tests using describe blocks
- Async testing: Properly handle async code with async/await or promises
Resources
- Official Documentation: https://jestjs.io/
- Getting Started: https://jestjs.io/docs/getting-started
- API Reference: https://jestjs.io/docs/api
- GitHub Repository: https://github.com/jestjs/jest
Keywords
Jest, testing, unit test, integration test, mock, spy, snapshot, matcher, assertion, async test, setup, teardown, coverage, CLI, configuration, TypeScript, React, Vue, Babel, æµè¯, åå æµè¯, éææµè¯, Mock, å¿«ç §, å¹é å¨, æè¨, 弿¥æµè¯, è¦çç, é ç½®