jest

star 9

Jest JavaScript testing framework with snapshots. Use for JS testing.

G1Joshi By G1Joshi schedule Updated 2/10/2026

name: jest description: Jest JavaScript testing framework with snapshots. Use for JS testing.

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.

References

Install via CLI
npx skills add https://github.com/G1Joshi/Agent-Skills --skill jest
Repository Details
star Stars 9
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator