🃏
Testing React Apps

Jest Basics for React

Test Runner & Assertions
💡 Jest, EK, "TEST, ORCHESTRATOR" hai — SAARE, TEST, FILES, KO, DHOONDТA, hai, HAR, EK, KO, RUN, KARTA, hai, aur, EK, REPORT, DETA, hai, KYA, PASS, HUA, KYA, FAIL — jaise, EK, EXAM, INVIGILATOR, JO, SAARE, PAPERS, CHECK, KARTA, hai, aur, RESULTS, COMPILE, KARTA, hai.

Jest, EK, TEST, RUNNER, hai (Vite, PROJECTS, MEIN, VITEST, ALTERNATIVE, hai, SIMILAR, API, KE, SAATH) — describe() SE, RELATED, TESTS, GROUP, HOTE, HAIN. test() (YA, it()), EK, INDIVIDUAL, TEST, CASE, DEFINE, KARTA, hai. expect(), ASSERTIONS, (MATCHERS) KE, SAATH, USE, HOTA, hai.

COMMON, MATCHERS — toBe() (EXACT, EQUALITY), toEqual() (DEEP, EQUALITY, OBJECTS/ARRAYS, KE, LIYE), toBeInTheDocument() (RTL, KA, MATCHER, DOM, PRESENCE, CHECK, KARNE, KE, LIYE), toHaveBeenCalled() (MOCK, FUNCTIONS, KE, LIYE).

describe("Calculator", () => {
  test("adds two numbers", () => {
    expect(add(2, 3)).toBe(5);
  });

  test("returns array with correct items", () => {
    expect(getItems()).toEqual([{ id: 1, name: "Apple" }]);
  });

  test("calls callback when clicked", () => {
    const mockFn = jest.fn();
    render(<Button onClick={mockFn} />);
    fireEvent.click(screen.getByRole("button"));
    expect(mockFn).toHaveBeenCalledTimes(1);
  });
});
🃏
Jest, EK, "TEST, ORCHESTRATOR" hai — SAARE, TEST, FILES, KO, DHOONDТA, hai, HAR, EK, KO, RUN, KARTA, hai, aur, EK, REPORT, DETA, hai, KYA, PASS, HUA, KYA, FAIL — jaise, EK, EXAM, INVIGILATOR, JO, SAARE, PAPERS, CHECK, KARTA, hai, aur, RESULTS, COMPILE, KARTA, hai.
1 / 2
⚡ Quick Recap
  • Jest/Vitest = test runner — describe/test/expect, STRUCTURE
  • toBe() = primitives, toEqual() = objects/arrays, DEEP, comparison
  • jest.fn() = mock, functions, banaने, ke, liye, aur, calls, TRACK, karne, ke, liye
Is page mein (2 subtopics)

beforeEach(), HAR, TEST, SE, PEHLE, RUN, HOTA, hai (jaise, MOCKS, RESET, KARNA). afterEach(), HAR, TEST, KE, BAAD (jaise, cleanup()) — RTL, AUTOMATICALLY, afterEach(cleanup), SETUP, FILE, MEIN, KAR, DETA, hai, MODERN, VERSIONS, MEIN.

beforeEach(() => { jest.clearAllMocks(); });

toMatchSnapshot(), COMPONENT, KE, RENDERED, OUTPUT, KO, EK, FILE, MEIN, SAVE, KARTA, hai — AGLI, BAAR, TEST, RUN, HONE, PAR, CURRENT, OUTPUT, KO, SAVED, SNAPSHOT, SE, COMPARE, KARTA, hai. UI, ACCIDENTALLY, CHANGE, HONE, PAR, TEST, FAIL, HOTA, hai.

⚠️Common Mistake: Snapshot, tests, OVERUSE, karna, RISKY, hai — DEVELOPERS, AKSAR, "BLINDLY" snapshots, update, kar, dete, hain, BINA, ACTUALLY, REVIEW, kiye, JISSE, REAL, BUGS, MISS, ho, sakte, hain.