Quanto mais a codebase aumenta, pequenos erros que não esperamos acabam aparecendo, um jeito de previnir isso é escrevendo testes de acordo com que a aplicação cresce.

Por que testar?

**Somos humanos e cometemos erros, testes são importantes porque ajuda a encobrir erros e verificar se o seu código esta funcionando da maneira certa, mas o mais importante que testes ajudam seu código continuar funcionando depois que adiciona novas features.

Um dos melhore jeitos de concertas seus bugs são escrevendo testes que falham

React e React Native tem frameworks implementados como o Jest, que ajudam a escrever testes mais complexos, alem disso, podendo incluir mocks - que veremos mais a frente.

Estrutura de Teste

Seu teste tem que ser curto e ideal para um única coisa

it('given a date in the past, colorForDueDate() returns red', () => { expect(colorForDueDate('2000-10-20')).toBe('red'); });

Testes Unitários

Mocking

Quando estamos escrevendo sistemas e precisamos que algumas partes interagem com outra os mocks são essenciais para simular tais componentes ou funções integradas.

Usando o mocks para escrever seus testes quer dizer que temos X que para funcionar precisa de A e B, alem dos testes unitários de A e B, precisamos criar alguns dados, funções … fakes para ter o teste integrando os dois.

Testes de components

Componentes são responsáveis por renderizar o seu aplicativo, usuários estão diretamente ligado aos componentes.

Components podem falhar tanto em testes unitários quanto de integração, mas porque são partes importantes do core do React Native, que cobrem separadamente.