Aller au contenu principal

Options de configuration

[Traduction Bêta Non Officielle]

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Introduction

La bibliothèque peut être configurée via la fonction configure, qui accepte :

  • un objet JS simple ; celui-ci sera fusionné avec la configuration existante. Exemple : configure({testIdAttribute: 'not-data-testid'})

  • une fonction ; cette fonction recevra la configuration existante et doit retourner un objet JS simple qui sera fusionné comme ci-dessus, par exemple : configure(existingConfig => ({something: [...existingConfig.something, 'extra value for the something array']}))

Note

Les wrappers spécifiques à un framework comme React Testing Library peuvent ajouter plus d'options que celles présentées ci-dessous.

setup-tests.js
import {configure} from '@testing-library/dom'
import serialize from 'my-custom-dom-serializer'

configure({
testIdAttribute: 'data-my-test-id',
getElementError: (message, container) => {
const customMessage = [message, serialize(container.firstChild)].join(
'\n\n',
)
return new Error(customMessage)
},
})

Options

computedStyleSupportsPseudoElements

Définissez à true si window.getComputedStyle prend en charge les pseudo-éléments, c'est-à-dire un deuxième argument. Si vous utilisez testing-library dans un navigateur, vous devrez presque toujours définir cette option à true. Seuls les navigateurs très anciens ne prennent pas en charge cette propriété (comme IE 8 et versions antérieures). Cependant, jsdom ne prend actuellement pas en charge le deuxième argument. Cela concerne les versions de jsdom antérieures à 16.4.0 et toute version qui enregistre un avertissement not implemented lors de l'appel de getComputedStyle avec un deuxième argument, par exemple window.getComputedStyle(document.createElement('div'), '::after'). Valeur par défaut : false.

defaultHidden

La valeur par défaut de l'option hidden utilisée par getByRole. Valeur par défaut : false.

defaultIgnore

La valeur par défaut pour l'option ignore utilisée par getByText. Détermine également les nœuds qui sont ignorés lorsque les erreurs sont affichées.

Valeur par défaut : script, style.

showOriginalStackTrace

Par défaut, waitFor garantit que la stack trace des erreurs levées par Testing Library est nettoyée et raccourcie pour vous aider à identifier la partie de votre code ayant provoqué l'erreur (les stack traces asynchrones sont difficiles à déboguer). Pour désactiver ce comportement, définissez showOriginalStackTrace à false. Vous pouvez également désactiver cette fonctionnalité pour un appel spécifique via les options passées à waitFor.

throwSuggestions (expérimental)

Lorsqu'activé, si des requêtes plus pertinentes sont disponibles, le test échouera et proposera une requête alternative à utiliser. Valeur par défaut : false.

Pour désactiver une suggestion pour une seule requête, ajoutez simplement {suggest:false} comme option.

screen.getByTestId('foo', {suggest: false}) // will not throw a suggestion
note

Lorsque cette option est activée, elle peut suggérer des requêtes dont l'implémentation manque d'intuitivité. Cela se produit typiquement pour les rôles qui ne peuvent pas être nommés, notamment les paragraphes. Par exemple, si vous tentez d'utiliser getByText, vous pourriez rencontrer l'erreur suivante :

TestingLibraryElementError: A better query is available, try this:
getByRole('paragraph')

Cependant, il n'existe pas de moyen direct d'interroger les paragraphes en utilisant le paramètre d'objet de configuration, comme dans getByRole('paragraph', { name: 'Hello World' }).

Pour résoudre ce problème, vous pouvez utiliser une fonction personnalisée pour valider la structure de l'élément, comme illustré dans l'exemple ci-dessous. Plus d'informations sont disponibles dans le problème GitHub :

getByRole('paragraph', {
name: (_, element) => element.textContent === 'Hello world',
})

testIdAttribute

L'attribut utilisé par getByTestId et les requêtes associées. Valeur par défaut : data-testid.

getElementError

Fonction qui retourne l'erreur utilisée lorsque les requêtes get ou find échouent. Prend le message d'erreur et l'objet conteneur en arguments.

asyncUtilTimeout

La valeur globale de timeout en millisecondes utilisée par les utilitaires waitFor. Valeur par défaut : 1000ms.