Jest Flashcards
(12 cards)
Jest là gì?
Một testing framework cho JavaScript, phổ biến trong test React.
Sự khác biệt giữa toBe() và toEqual()?
toBe() kiểm tra ===, toEqual() kiểm tra giá trị object/array tương đương.
jest.fn() dùng để làm gì?
Tạo hàm giả lập (mock function).
Snapshot testing dùng để làm gì?
Lưu và so sánh UI render hiện tại với UI trước đó.
beforeEach() và afterEach() khác gì beforeAll() và afterAll()?
beforeEach chạy trước mỗi test, beforeAll chạy một lần trước tất cả test.
Làm sao để kiểm tra coverage với Jest?
Dùng jest –coverage
Cách kiểm tra xem một function đã được gọi?
expect(mockFn).toHaveBeenCalled()
Cách test async function trong Jest?
Dùng async/await hoặc return Promise
Làm sao bạn test một component có debounce hoặc timeout?
Dùng jest.useFakeTimers() để điều khiển thời gian.
Dùng jest.advanceTimersByTime(ms) để simulate delay.
Một đồng nghiệp sửa UI khiến snapshot test fail. Bạn xử lý thế nào?
Review UI mới để xem thay đổi có hợp lý không.
Nếu hợp lý → update snapshot (u trong CLI).
Nếu không hợp lý → rollback hoặc fix lại component.
Bạn có một component <UserProfile></UserProfile> gọi API khi mount để hiển thị tên người dùng. Làm sao bạn viết test để đảm bảo tên người dùng được hiển thị đúng?
Mock API call bằng jest.mock hoặc mock service.
Dùng @testing-library/react để render và kiểm tra text.
Có thể dùng waitFor để chờ render xong.