Ir para o conteúdo principal

Opções de Configuração

[Tradução Beta Não Oficial]

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.

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)
},
})

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
nota

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.