Opções de Configuração
Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →
Introdução
A biblioteca pode ser configurada através da função configure, que aceita:
um objeto JavaScript simples; ele será mesclado à configuração existente. Ex:
configure({testIdAttribute: 'not-data-testid'})uma função; essa função receberá a configuração existente e deve retornar um objeto JavaScript simples que será mesclado como acima. Ex:
configure(existingConfig => ({something: [...existingConfig.something, 'extra value for the something array']}))
Nota
Wrappers específicos de frameworks como React Testing Library podem adicionar mais opções além das mostradas abaixo.
- 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'})
Opções
computedStyleSupportsPseudoElements
Defina como true se window.getComputedStyle suportar pseudo-elementos, ou seja, um
segundo argumento. Se você está usando a testing-library em um navegador, quase sempre
deverá definir isso como true. Apenas navegadores muito antigos não suportam essa propriedade
(como IE 8 e anteriores). Porém, o jsdom atualmente não suporta o segundo
argumento. Isso inclui versões do jsdom anteriores à 16.4.0 e qualquer
versão que registre um aviso not implemented ao chamar
getComputedStyle
com um segundo argumento, por exemplo:
window.getComputedStyle(document.createElement('div'), '::after'). O valor padrão é
false.
defaultHidden
O valor padrão para a opção hidden usada por
getByRole. Padrão: false.
defaultIgnore
O valor padrão para a opção ignore usada por
getByText. Também determina quais nós são
ignorados quando erros são impressos.
Padrão: script, style.
showOriginalStackTrace
Por padrão, o waitFor garantirá que o stack trace de
erros lançados pela Testing Library seja limpo e reduzido, facilitando
a identificação da parte do seu código que causou o erro (stack traces
assíncronos são difíceis de depurar). Se quiser desativar isso, defina
showOriginalStackTrace como false. Você também pode desativar isso para uma
chamada específica nas opções passadas ao waitFor.
throwSuggestions (experimental)
Quando ativada, se consultas melhores estiverem disponíveis, o
teste falhará e fornecerá uma consulta sugerida para usar no lugar. Padrão:
false.
Para desativar uma sugestão em uma única consulta, basta adicionar {suggest:false} como
opção.
screen.getByTestId('foo', {suggest: false}) // will not throw a suggestion
Quando esta opção está ativa, ela pode fornecer sugestões com implementação pouco intuitiva.
Isso geralmente ocorre para
funções que não podem ser nomeadas,
principalmente parágrafos. Por exemplo, ao tentar usar
getByText, você pode encontrar este erro:
TestingLibraryElementError: A better query is available, try this:
getByRole('paragraph')
Porém, não há uma maneira direta de consultar parágrafos usando o parâmetro
de objeto de configuração, como em getByRole('paragraph', { name: 'Hello World' }).
Para resolver isso, você pode usar uma função personalizada para validar a estrutura do elemento, como mostrado no exemplo abaixo. Mais informações estão disponíveis nesta issue do GitHub
getByRole('paragraph', {
name: (_, element) => element.textContent === 'Hello world',
})
testIdAttribute
O atributo usado por getByTestId e consultas relacionadas.
Padrão: data-testid.
getElementError
Uma função que retorna o erro usado quando as consultas get ou find falham. Recebe a mensagem de erro e o objeto container como argumentos.
asyncUtilTimeout
O valor global de timeout em milissegundos usado pelos utilitários
waitFor. Padrão: 1000ms.