Opciones de Configuración
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Introducción
La biblioteca puede configurarse mediante la función configure, que acepta:
Un objeto JavaScript simple; se fusionará con la configuración existente. Ejemplo:
configure({testIdAttribute: 'not-data-testid'})Una función; recibirá la configuración existente y debe devolver un objeto JavaScript simple que se fusionará como arriba, ejemplo:
configure(existingConfig => ({something: [...existingConfig.something, 'extra value for the something array']}))
Nota
Los wrappers específicos de frameworks como React Testing Library pueden agregar más opciones además de las mostradas.
- Native
- React
- Angular
- Cypress
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)
},
})
import {configure} from '@testing-library/react'
configure({testIdAttribute: 'data-my-test-id'})
import {configure} from '@testing-library/angular'
configure({
dom: {
testIdAttribute: 'data-my-test-id',
},
})
import {configure} from '@testing-library/cypress'
configure({testIdAttribute: 'data-my-test-id'})
Opciones
computedStyleSupportsPseudoElements
Establécelo en true si window.getComputedStyle admite pseudo-elementos, es decir, un segundo argumento. Si estás usando testing-library en un navegador, casi siempre querrás establecer esto en true. Solo navegadores muy antiguos no admiten esta propiedad (como IE 8 y anteriores). Sin embargo, jsdom actualmente no admite el segundo argumento. Esto incluye versiones de jsdom anteriores a 16.4.0 y cualquier versión que registre una advertencia not implemented al llamar a getComputedStyle con un segundo argumento, por ejemplo: window.getComputedStyle(document.createElement('div'), '::after'). Por defecto es false.
defaultHidden
Valor por defecto para la opción hidden utilizada por getByRole. Por defecto es false.
defaultIgnore
Valor por defecto para la opción ignore usada por getByText. También determina los nodos ignorados al imprimir errores.
Por defecto: script, style.
showOriginalStackTrace
Por defecto, waitFor asegura que el stack trace de los errores lanzados por Testing Library se limpie y acorte para que sea más fácil identificar la parte de tu código que causó el error (los stack traces asíncronos son difíciles de depurar). Si deseas desactivar esto, establece showOriginalStackTrace en false. También puedes desactivarlo para una llamada específica en las opciones que pasas a waitFor.
throwSuggestions (experimental)
Cuando está activado, si existen consultas mejores, la prueba fallará y sugerirá una consulta alternativa. Por defecto es false.
Para desactivar una sugerencia en una consulta específica, añade {suggest:false} como opción.
screen.getByTestId('foo', {suggest: false}) // will not throw a suggestion
Cuando esta opción está habilitada, puede proporcionar sugerencias que carecen de una implementación intuitiva. Típicamente esto sucede para roles que no pueden ser nombrados, especialmente párrafos. Por ejemplo, si intentas usar getByText, puedes encontrarte con el siguiente error:
TestingLibraryElementError: A better query is available, try this:
getByRole('paragraph')
Sin embargo, no hay una forma directa de consultar párrafos usando el parámetro de objeto de configuración, como en getByRole('paragraph', { name: 'Hello World' }).
Para solucionar este problema, puedes usar una función personalizada para validar la estructura del elemento, como se muestra en el ejemplo a continuación. Más información puede encontrarse en el issue de GitHub.
getByRole('paragraph', {
name: (_, element) => element.textContent === 'Hello world',
})
testIdAttribute
Atributo usado por getByTestId y consultas relacionadas. Por defecto es data-testid.
getElementError
Una función que devuelve el error utilizado cuando fallan las consultas get o find. Recibe el mensaje de error y el objeto contenedor como argumentos.
asyncUtilTimeout
Valor global de tiempo de espera en milisegundos utilizado por las utilidades waitFor. Por defecto es 1000ms.