Ir para o conteúdo principal

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 →

Configurando seu projeto

A API da React Native Testing Library deve funcionar imediatamente na maioria dos testes. Todos os trechos de código que você encontrará neste site funcionam sem configurações adicionais, desde que você use Jest e uma versão moderadamente recente do React Native.

Renderização personalizada

Muitas vezes é útil definir um método de renderização personalizado que inclui elementos como provedores de contexto global, armazenamentos de dados etc. Para disponibilizar isso globalmente, uma abordagem é criar um arquivo utilitário que reexporta tudo da React Native Testing Library. Você pode substituir React Native Testing Library por esse arquivo em todas as suas importações. Veja abaixo para uma forma de acessar seu arquivo de utilitários de teste sem usar caminhos relativos.

my-component.test.js
- import { render, fireEvent } from '@testing-library/react-native';
+ import { render, fireEvent } from '../test-utils';
test-utils.js
import {render} from '@testing-library/react-native'
import {ThemeProvider} from 'my-ui-lib'
import {TranslationProvider} from 'my-i18n-lib'
import defaultStrings from 'i18n/en-x-default'

const AllTheProviders = ({children}) => {
return (
<ThemeProvider theme="light">
<TranslationProvider messages={defaultStrings}>
{children}
</TranslationProvider>
</ThemeProvider>
)
}

const customRender = (ui, options) =>
render(ui, {wrapper: AllTheProviders, ...options})

// re-export everything
export * from '@testing-library/react-native'

// override render method
export {customRender as render}

Configurando o Jest com utilitários de teste

Para tornar seu arquivo de teste personalizado acessível nos arquivos de teste do Jest sem usar importações relativas (../../test-utils), adicione a pasta que contém o arquivo à opção moduleDirectories do Jest.

Isso tornará todos os arquivos .js no diretório test-utils importáveis sem ../.

my-component.test.js
- import { render, fireEvent } from '../test-utils';
+ import { render, fireEvent } from 'test-utils';
jest.config.js
module.exports = {
moduleDirectories: [
'node_modules',
+ // add the directory with the test-utils.js file, for example:
+ 'utils', // a utility folder
+ __dirname, // the root directory
],
// ... other options ...
}