Skip to content

Commit 88a4ae8

Browse files
committed
docs: dividing the readme by subject
1 parent d66d3f8 commit 88a4ae8

File tree

2 files changed

+74
-57
lines changed

2 files changed

+74
-57
lines changed

README.md

Lines changed: 1 addition & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 🧪 React TDD
1+
# 👩‍🔬 React TDD
22

33
<p align="center">
44
Projeto com foco em desenvolver o frontend orientado a testes,
@@ -57,62 +57,6 @@ através de mocks, ou seja, uma simulação desses arquivos.
5757
> - [React Hero: TypeScript + Jest + React Testing Library setup](https://medium.com/tinyso/react-hero-typescript-jest-react-testing-library-setup-c2ecce18ec96)
5858
> - [ Configurando Jest + React Testing Library no Vite #Dia23 ](https://www.youtube.com/watch?v=HLgY_Cmqe14)
5959
60-
## 📝 Tipos de testes
61-
62-
### 🔬 Unitário
63-
64-
Esses são os testes das menores porções do código, por exemplo, uma
65-
função. Verificamos se essa pequena parte de código faz o que deveria
66-
fazer, independente de outras unidades.
67-
68-
Quando desenvolvemos para o frontend, muitas vezes trabalhamos com
69-
componentes. Os testes unitários nos permitem garantir que eles
70-
funcionam como esperado de forma isolada, mas também é preciso saber
71-
se esses componentes funcionam quando utilizados de forma conjunta.
72-
Mas como saber se não vão parar de funcionar? Para isso, vamos para o
73-
próximo tipo de teste.
74-
75-
### 🌐 Integração
76-
77-
Agora que as unidades do código estão funcionando corretamente de forma
78-
isolada, precisamos garantir que, quando uma parte se comunicar com a
79-
outra, as coisas vão funcionar como esperado.
80-
81-
No front-end, os testes de integração são super importantes, porque
82-
queremos nos certificar de que nossos componentes funcionam conforme
83-
esperado quando usados em conjunto.
84-
85-
Por exemplo, se tivermos um formulário contendo vários inputs
86-
diferentes e com um botão para enviar os dados, queremos testar que,
87-
ao preencher todos os dados corretamente e clicar no botão, veremos a
88-
mensagem de sucesso esperada.
89-
90-
### 📡 End-to-end (E2E)
91-
92-
Nos testes E2E testamos os componentes trabalhando de forma integrada,
93-
mas pensando na jornada real do usuário. Podemos utilizar ferramentas
94-
que automatizam essas ações em um contexto real.
95-
96-
Por exemplo, a aplicação é iniciada no browser, que navega para a
97-
nossa página e executa as ações que forem definidas, como clicando em
98-
botões, preenchendo campos e verificando se os resultados são conforme
99-
esperado.
100-
101-
### 📸 Snapshot
102-
103-
Esse tipo de teste é focado na interface. A ideia é ter certeza que,
104-
quando fizermos quaisquer alterações, ela não terá mudanças inesperadas.
105-
106-
Quando um teste de snapshot é criado, ele renderiza o componente, ou
107-
seja, transforma em algo que o navegador consegue entender e mostrar
108-
na tela. Em seguida, "tira uma foto" do que foi renderizado, e guarda
109-
aquela imagem.
110-
111-
Assim, cada vez que os testes forem rodados, o que for renderizado é
112-
comparado com a imagem que estava guardada. Se houver alguma diferença,
113-
o teste falha e sabemos que algo na nossa interface foi alterado, sem
114-
precisar rodar a aplicação inteira pra isso.
115-
11660
<h4 align="center">🚧 Readme em construção 👷🏻‍♀️</h4>
11761

11862
<hr>

readme-tests.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# 🧪 Testes no Frontend
2+
3+
## 📝 Tipos de testes
4+
5+
### 🔬 Unitário
6+
7+
Esses são os testes das menores porções do código, por exemplo, uma
8+
função. Verificamos se essa pequena parte de código faz o que deveria
9+
fazer, independente de outras unidades.
10+
11+
Quando desenvolvemos para o frontend, muitas vezes trabalhamos com
12+
componentes. Os testes unitários nos permitem garantir que eles
13+
funcionam como esperado de forma isolada, mas também é preciso saber
14+
se esses componentes funcionam quando utilizados de forma conjunta.
15+
Mas como saber se não vão parar de funcionar? Para isso, vamos para o
16+
próximo tipo de teste.
17+
18+
### 🌐 Integração
19+
20+
Agora que as unidades do código estão funcionando corretamente de forma
21+
isolada, precisamos garantir que, quando uma parte se comunicar com a
22+
outra, as coisas vão funcionar como esperado.
23+
24+
No front-end, os testes de integração são super importantes, porque
25+
queremos nos certificar de que nossos componentes funcionam conforme
26+
esperado quando usados em conjunto.
27+
28+
Por exemplo, se tivermos um formulário contendo vários inputs
29+
diferentes e com um botão para enviar os dados, queremos testar que,
30+
ao preencher todos os dados corretamente e clicar no botão, veremos a
31+
mensagem de sucesso esperada.
32+
33+
### 📡 End-to-end (E2E)
34+
35+
Nos testes E2E testamos os componentes trabalhando de forma integrada,
36+
mas pensando na jornada real do usuário. Podemos utilizar ferramentas
37+
que automatizam essas ações em um contexto real.
38+
39+
Por exemplo, a aplicação é iniciada no browser, que navega para a
40+
nossa página e executa as ações que forem definidas, como clicando em
41+
botões, preenchendo campos e verificando se os resultados são conforme
42+
esperado.
43+
44+
### 📸 Snapshot
45+
46+
Esse tipo de teste é focado na interface. A ideia é ter certeza que,
47+
quando fizermos quaisquer alterações, ela não terá mudanças inesperadas.
48+
49+
Quando um teste de snapshot é criado, ele renderiza o componente, ou
50+
seja, transforma em algo que o navegador consegue entender e mostrar
51+
na tela. Em seguida, "tira uma foto" do que foi renderizado, e guarda
52+
aquela imagem.
53+
54+
Assim, cada vez que os testes forem rodados, o que for renderizado é
55+
comparado com a imagem que estava guardada. Se houver alguma diferença,
56+
o teste falha e sabemos que algo na nossa interface foi alterado, sem
57+
precisar rodar a aplicação inteira pra isso.
58+
59+
## 👩‍💻 Testando por roles
60+
61+
Realizar as buscas pelas roles é uma boa prática porque, além de
62+
testar a sua aplicação, você garante a sua acessibilidade. As
63+
especificações relacionadas à acessibilidade estão definidas na W3C
64+
(*World Wide Web Consortium*) como WAI-ARIA.
65+
66+
WAI-ARIA quer dizer *Accessible Rich Internet Applications* (Aplicações
67+
Ricas para uma Internet Acessível). O conjunto ARIA oferece a maneira
68+
de tornar as aplicações mais acessíveis a uma maior diversidade de
69+
pessoas, incluindo quem utiliza tecnologias assistivas, como leitores
70+
de telas e lentes de aumento.
71+
72+
[Aqui](https://www.w3.org/TR/wai-aria-1.1/#role_definitions) você
73+
confere uma lista de todas as possíveis roles.

0 commit comments

Comments
 (0)