Jest
A comprehensive skill catalog for AI agents
npx -y skills add G1Joshi/Agent-Skills --skill jestAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 10 stars10 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Jest JavaScript testing framework with snapshots. Use for JS testing.
SKILL.md
2.0 KB, as published. Nobody here has run it
Jest
Jest is a delightful JavaScript Testing Framework with a focus on simplicity. It works with projects using: Babel, TypeScript, Node, React, Angular, Vue, and more.
When to Use
- React Apps: The default and most supported runner for Create React App / Next.js (historically).
- Snapshot Testing: When you want to ensure UI or JSON structures haven't changed unexpectedly.
- Legacy/Standard: Extensive community plugins and support.
Quick Start
// sum.js
function sum(a, b) {
return a + b;
}
module.exports = sum;
// sum.test.js
const sum = require("./sum");
test("adds 1 + 2 to equal 3", () => {
expect(sum(1, 2)).toBe(3);
});
Core Concepts
Matchers
Jest uses "matchers" to test values.
toBe(value): Exact equality (Object.is).toEqual(value): Recursive equality (great for Objects/Arrays).toContain(item): Checks if an array contains an item.
Mock Functions
jest.fn() creates a mock function. You can track calls, arguments, and instances.
const mockCallback = jest.fn((x) => 42 + x);
forEach([0, 1], mockCallback);
expect(mockCallback.mock.calls.length).toBe(2);
Async Testing
Jest supports async/await.
test("data is peanut butter", async () => {
const data = await fetchData();
expect(data).toBe("peanut butter");
});
Best Practices (2025)
Do:
- Use
test.each: For data-driven tests. Avoid writing valid/invalid test cases manually 10 times. - Isolate Tests: Tests should not depend on each other. Jest runs them in parallel.
- Mock External APIs: Never hit real APIs in unit tests. Use
jest.mock.
Don't:
- Don't overuse Snapshots: Large snapshots are impossible to review. Use them for small, critical structures.
- Don't ignore "Unhandled Promise Rejection": It usually means a test finished before an async operation completed.