Jest Basics for React
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/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
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.