You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,4 +14,5 @@
14
14
3. Create the PR from that branch to the source branch
15
15
16
16
# Contributing with translations
17
-
When translation of a whole new part is completed, remember to update the file src/utils/translationProgress.json
17
+
When translation of a whole new part is completed, remember to update the file src/utils/translationProgress.json
18
+
This file tracks the progress of translations, ranging from 0 (part0) to 13 (part13). It is used in the to avoid navigation errors when the user tries to access untranslated parts of the course. At the same time, it is used to automatically redirect the user to the English material (until the part is translated). So, if you have been working on a translation, remember to update this file after completing the translation of a whole part.
Copy file name to clipboardExpand all lines: src/content/5/ptbr/part5c.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,19 +8,19 @@ lang: ptbr
8
8
9
9
<divclass="content">
10
10
11
-
Existem algumas formas de testar aplicações React. Vamos dar uma olhada em algumas deles a frente.
11
+
Existem algumas formas de testar aplicações React. Vamos dar uma olhada em algumas delas a frente.
12
12
13
-
Testes serão implementados com a mesma [Jest](http://jestjs.io/) biblioteca de teste desenvolvida pelo Facebook que foi usado na parte anterior. Jest é configurado por padrão para aplicações criadas com o create-react-app.
13
+
Testes serão implementados com a mesma [Jest](http://jestjs.io/) biblioteca de teste desenvolvida pelo Facebook que foi usada na parte anterior. Jest é configurado por padrão para aplicações criadas com o create-react-app.
14
14
15
-
Além do JEST, também precisamos de outra biblioteca de testes que nos ajude a renderizar componentes para fins de teste. A melhor opção atual para isso é [react-test-library](https://github.com/testing-library/react-testing-library) que sofreu um rápido crescimento de popularidade nos últimos tempos.
15
+
Além do JEST, também precisamos de outra biblioteca de testes que nos ajude a renderizar componentes para fins de teste. A melhor opção atual para isso é [react-test-library](https://github.com/testing-library/react-testing-library) que sofreu um rápido crescimento de popularidade nos últimos tempos.
Observe que o elemento <i>li</i> possui o [CSS](https://reactjs.org/docs/dom-elements.html#classname)classname <i>nota</i> , que poderia ser usado para acessar o componente em nossos testes.
42
+
Observe que o elemento <i>li</i> possui o [CSS](https://reactjs.org/docs/dom-elements.html#classname)className <i>note</i> , que poderia ser usado para acessar o componente em nossos testes.
Após a configuração inicial, o teste renderiza o componente com o [render](https://testing-library.com/docs/react-testing-library/api#render) função fornecida pela react-testing-library:
69
+
Após a configuração inicial, o teste renderiza o componente com o [render](https://testing-library.com/docs/react-testing-library/api#render) que é uma função fornecida pela react-testing-library:
70
70
71
71
```js
72
72
render(<Note note={note} />)
73
73
```
74
74
75
-
Normalmente, os componentes reagentes são renderizados ao <i>DOM</i> . O método de renderização que usamos renderiza os componentes em um formato adequado para testes sem renderizá-los ao DOM.
75
+
Normalmente, os componentes React são renderizados no <i>DOM</i> . O método de renderização que usamos renderiza os componentes em um formato adequado para testes sem renderizá-los ao DOM.
76
76
77
77
Podemos usar o objeto [screen](https://testing-library.com/docs/queries/about#screen) para acessar o componente renderizado. Usamos o método da Screen [getByText](https://testing-library.com/docs/queries/bytext) para procurar um elemento que tenha o conteúdo da nota e garantir que ele exista:
78
78
@@ -83,7 +83,7 @@ Podemos usar o objeto [screen](https://testing-library.com/docs/queries/about#sc
83
83
84
84
### Testes de execução
85
85
86
-
Create-react-app configura os testes a serem executados no modo assistido por padrão, o que significa que o comando _npm test_ não terminará assim que os testes terminarem e, em vez disso, aguardará as alterações a serem feitas no código. Depois que novas alterações no código são salvas, os testes são executados automaticamente, depois disso Jest volta a aguardar que novas alterações sejam feitas.
86
+
Create-react-app configura os testes a serem executados no modo Watch por padrão, o que significa que o comando _npm test_ não terminará assim que os testes terminarem e, em vez disso, aguardará as alterações a serem feitas no código. Depois que novas alterações no código são salvas, os testes são executados automaticamente, depois disso Jest volta a aguardar que novas alterações sejam feitas.
87
87
88
88
Se você deseja executar testes "normalmente", pode fazê-lo com o comando:
89
89
@@ -97,7 +97,7 @@ Para usuários do Windows (PowerShell)
97
97
$env:CI=$true; npm test
98
98
```
99
99
100
-
**Obs:** O console pode emitir um aviso se você não tiver instalado o Watchman. O Watchman é um aplicativo desenvolvido pelo Facebook que assiste a alterações feitas nos arquivos. O programa acelera a execução dos testes e pelo menos a partir do MacOS Sierra, executando testes no modo assistido emite alguns avisos no console, que podem ser removidos instalando o Watchman.
100
+
**Obs:** O console pode emitir um aviso se você não tiver instalado o Watchman. O Watchman é uma aplicação desenvolvida pelo Facebook que observa as alterações feitas nos arquivos. O programa acelera a execução dos testes e pelo menos a partir do MacOS Sierra, executando testes no modo watch emite alguns avisos no console, que podem ser removidos instalando o Watchman.
101
101
102
102
As instruções para instalar o Watchman em diferentes sistemas operacionais podem ser encontradas no site oficial do Watchman: <https://facebook.github.io/watchman/>
O teste falha se _getByText_ não encontrar o elemento que está procurando.
137
137
138
-
Também poderíamos usar [CSS-selectors](https://developer.mozilla.org/pt-BR/docs/web/css/css_selectors) para encontrar elementos renderizados usando o método [queryselector](https: // desenvolvedor. mozilla.org/en-us/docs/web/api/document/queryselector) do objeto [container](https://testing-library.com/docs/react-testing-library/api/#container-1) que é um dos campos retornados pela renderização:
138
+
Também poderíamos usar [CSS-selectors](https://developer.mozilla.org/pt-BR/docs/web/css/css_selectors) para encontrar elementos renderizados usando o método [queryselector](https: // desenvolvedor. mozilla.org/en-us/docs/web/api/document/queryselector) do objeto [container](https://testing-library.com/docs/react-testing-library/api/#container-1) que é um dos campos retornados pela renderização:
Existem também outros métodos, por exemplo, [getByTestId](https://testing-library.com/docs/queries/bytestid/), que procuram elementos com base em id-attributes que são inseridos no código especificamente para fins de teste.
163
+
Existem também outros métodos, por exemplo, [getByTestId](https://testing-library.com/docs/queries/bytestid/), que procuram elementos com base em id-attributes que são inseridos no código especificamente para fins de teste.
164
164
165
165
### Testes de depuração
166
166
167
167
Normalmente, encontramos muitos tipos diferentes de problemas ao escrever nossos testes.
168
168
169
-
Objeto _screen_ possui método [debug](https://testing-library.com/docs/queries/about/#screendebug) que pode ser usado para imprimir o HTML de um componente para o terminal. Se alterarmos o teste da seguinte forma:
169
+
Objeto _screen_ possui método [debug](https://testing-library.com/docs/queries/about/#screendebug) que pode ser usado para imprimir o HTML de um componente para o terminal. Se alterarmos o teste da seguinte forma:
170
170
171
171
```js
172
172
importReactfrom'react'
@@ -248,7 +248,7 @@ Agora o HTML do elemento procurado é impresso:
248
248
249
249
Além de exibir conteúdo, o componente <i>Nota</i> também garante que, quando o botão associado à nota é pressionado, a função que manipula eventos (event handler) _toggleImportance_ é chamada.
250
250
251
-
Vamos instalar uma biblioteca [user-event](https://testing-library.com/docs/user-event/intro) que facilita a simulação de entrada do usuário:
251
+
Vamos instalar uma biblioteca [user-event](https://testing-library.com/docs/user-event/intro) que facilita a simulação de entrada do usuário:
@@ -304,7 +304,7 @@ const button = screen.getByText('make not important')
304
304
awaituser.click(button)
305
305
```
306
306
307
-
Clicar acontece com o método [click](https://testing-library.com/docs/user-event/convenience/#click) da biblioteca userevent-library.
307
+
Clicar acontece com o método [click](https://testing-library.com/docs/user-event/convenience/#click) da biblioteca userevent-library.
308
308
309
309
A expectativa do teste verifica que a <i>função mock</i> foi chamada exatamente uma vez.
310
310
@@ -495,7 +495,7 @@ test('<NoteForm /> updates parent state and calls onSubmit', async () => {
495
495
})
496
496
```
497
497
498
-
Os testes têm acesso ao campo de entrada usando a função [getByRole](https://testing-library.com/docs/queries/byrole).
498
+
Os testes têm acesso ao campo de entrada usando a função [getByRole](https://testing-library.com/docs/queries/byrole).
499
499
500
500
O método [type](https://testing-library.com/docs/user-event/utility#type) do userEvent é usado para escrever texto no campo de entrada.
501
501
@@ -761,7 +761,7 @@ Optamos por nos concentrar em fazer testes de ponta a ponta para testar todo a a
761
761
762
762
### Teste de Snapshot
763
763
764
-
O JEST oferece uma alternativa completamente diferente aos chamados testes "tradicionais" [snapshot](https://jestjs.io/pt-BR/docs/snapshot-testing). A característica interessante dos snapshots é que os desenvolvedores não precisam definir nenhum teste, é simples o suficiente para adotar testes snapshot.
764
+
O JEST oferece uma alternativa completamente diferente aos chamados testes "tradicionais" [snapshot](https://jestjs.io/pt-BR/docs/snapshot-testing). A característica interessante dos snapshots é que os desenvolvedores não precisam definir nenhum teste, é simples o suficiente para adotar testes snapshot.
765
765
766
766
O princípio fundamental é comparar o código HTML definido pelo componente depois de alterar para o código HTML que existia antes de ser alterado.
0 commit comments