React / Next.js

Pengujian React

React Testing Library, Jest, Vitest, pengujian komponen, mocking, interaksi pengguna, coverage

20 pertanyaan wawancaraยท
Mid-Level
1

Apa perbedaan utama antara getBy, queryBy, dan findBy di React Testing Library?

Jawaban

getBy melempar error jika elemen tidak ada (assertions sinkron), queryBy mengembalikan null jika elemen tidak ada (memeriksa ketidakhadiran), dan findBy mengembalikan Promise untuk elemen asinkron. Gunakan getBy secara default untuk elemen yang harus ada, queryBy untuk memverifikasi bahwa elemen tidak ada, dan findBy untuk menunggu elemen muncul setelah delay.

2

Apa keuntungan utama getByRole dibandingkan getByTestId?

Jawaban

getByRole mendorong praktik terbaik aksesibilitas dengan menargetkan elemen berdasarkan peran ARIA semantik mereka (button, textbox, heading), yang meningkatkan aksesibilitas komponen untuk screen reader. getByTestId memerlukan penambahan atribut data-testid buatan yang tidak memberikan nilai bagi pengguna akhir. React Testing Library merekomendasikan untuk memprioritaskan getByRole, getByLabelText, dan getByText sebelum getByTestId.

3

Bagaimana cara menguji rendering kondisional dari elemen yang TIDAK ada di DOM?

Jawaban

Gunakan queryBy untuk memverifikasi ketidakhadiran elemen, karena mengembalikan null alih-alih melempar error. Contoh: expect(screen.queryByText('Error')).toBeNull() atau expect(screen.queryByText('Error')).not.toBeInTheDocument(). getBy akan melempar error dan membuat test gagal, sementara findBy menunggu elemen muncul (timeout jika tidak ada).

4

Mengapa React Testing Library merekomendasikan untuk TIDAK menguji detail implementasi?

5

Apa perbedaan antara render dan screen di React Testing Library?

+17 pertanyaan wawancara

Kuasai React / Next.js untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis