React / Next.js

Testing React

React Testing Library, Jest, Vitest, testing dei componenti, mocking, interazioni utente, coverage

20 domande da colloquio·
Mid-Level
1

Qual è la differenza principale tra getBy, queryBy e findBy in React Testing Library?

Risposta

getBy lancia un errore se l'elemento non esiste (assertions sincrone), queryBy restituisce null se l'elemento non esiste (verificare l'assenza), e findBy restituisce una Promise per gli elementi asincroni. Usa getBy di default per gli elementi che devono esistere, queryBy per verificare che un elemento non sia presente e findBy per attendere che un elemento appaia dopo un ritardo.

2

Qual è il vantaggio principale di getByRole rispetto a getByTestId?

Risposta

getByRole incoraggia le buone pratiche di accessibilità puntando agli elementi tramite il loro ruolo ARIA semantico (button, textbox, heading), migliorando l'accessibilità del componente per gli screen reader. getByTestId richiede l'aggiunta di attributi data-testid artificiali che non apportano alcun valore all'utente finale. React Testing Library raccomanda di privilegiare getByRole, getByLabelText e getByText prima di getByTestId.

3

Come testare il rendering condizionale di un elemento che NON è presente nel DOM?

Risposta

Usa queryBy per verificare l'assenza di un elemento, poiché restituisce null invece di lanciare un errore. Esempio: expect(screen.queryByText('Error')).toBeNull() oppure expect(screen.queryByText('Error')).not.toBeInTheDocument(). getBy lancerebbe un errore e farebbe fallire il test, mentre findBy attende che l'elemento appaia (timeout se assente).

4

Perché React Testing Library raccomanda di NON testare i dettagli di implementazione?

5

Qual è la differenza tra render e screen in React Testing Library?

+17 domande da colloquio

Padroneggia React / Next.js per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis