Jest Flashcards

(12 cards)

1
Q

Jest là gì?

A

Một testing framework cho JavaScript, phổ biến trong test React.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sự khác biệt giữa toBe() và toEqual()?

A

toBe() kiểm tra ===, toEqual() kiểm tra giá trị object/array tương đương.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

jest.fn() dùng để làm gì?

A

Tạo hàm giả lập (mock function).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Snapshot testing dùng để làm gì?

A

Lưu và so sánh UI render hiện tại với UI trước đó.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

beforeEach() và afterEach() khác gì beforeAll() và afterAll()?

A

beforeEach chạy trước mỗi test, beforeAll chạy một lần trước tất cả test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Làm sao để kiểm tra coverage với Jest?

A

Dùng jest –coverage

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cách kiểm tra xem một function đã được gọi?

A

expect(mockFn).toHaveBeenCalled()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cách test async function trong Jest?

A

Dùng async/await hoặc return Promise

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Làm sao bạn test một component có debounce hoặc timeout?

A

Dùng jest.useFakeTimers() để điều khiển thời gian.

Dùng jest.advanceTimersByTime(ms) để simulate delay.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Một đồng nghiệp sửa UI khiến snapshot test fail. Bạn xử lý thế nào?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

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?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly