Aula 39
Curso React: Componentes Controlados
Summary
Resumo da Transcrição
A seguir está um resumo das principais partes da transcrição:
-
Verificação de Testes com Jest:
- O autor está operando um terminal onde está executando testes com o Jest.
- Ele discutiu como um teste deve incluir um input e que o método
onChange
é determinado pelas props.
-
Teste de Implementação:
- O teste passou, mas o autor questiona se o teste realmente verifica a implementação corretamente.
- O autor faz uma modificação no checkbox, omitindo
props.onChange
e substituindo por uma função que não realiza nada. - Ele observa que, ao fazer a alteração, o teste falha, o que indica que o teste está validando corretamente a funcionalidade.
-
Novo Teste Unitário:
- O autor sugere realizar um novo teste para a propriedade
checked
do input. - O teste deve verificar se a prop
checked
recebida é passada corretamente ao componente.
- O autor sugere realizar um novo teste para a propriedade
-
Implementação do Novo Teste:
- O autor orienta sobre como escrever o teste, buscando o input e verificando se a prop
checked
tem o valor esperado. - Foi estabelecida a importância de usar variáveis para as props ao invés de valores estáticos, permitindo que mudanças no futuro não quebrem o teste.
- O autor orienta sobre como escrever o teste, buscando o input e verificando se a prop
-
Validação do Teste:
- O autor modifica a prop
checked
paratrue
e observa que o teste deve falhar, validando a lógica da implementação. - O teste está sendo configurado para garantir que o componente input recebe as props corretas, refletindo as mudanças que são injetadas.
- O autor modifica a prop
-
Conclusão e Exercício:
- O autor revisa o que foi feito, destacando a importância de testar as props (como type, name, value, onChange e checked) no componente input.
- Ele sugere que o espectador faça um exercício adicional para aprimorar o teste, mas termina a explicação por ali.
Este resumo aborda os principais pontos discutidos na transcrição, apresentando uma visão geral das etapas do teste e da validação em um componente de input utilizando Jest.
Video Transcript
Então vou aqui voltar para o meu terminal onde o npm test está rodando o Jest.
Você note que passou o teste deve incluir um input, o JohnChange é determinado pela
props.
Agora vamos, o teste passou mas será que o nosso teste realmente está verificando
essa coisa?
Então vamos fazer o teste falar, se a gente mudar aqui vamos aqui na implementação.
Aqui a implementação do checkbox no onChange vamos mudar esse cara.
A gente esqueceu, não deu a props.change, a gente passou uma função de flash que não
faz nada.
Por exemplo, se a gente estivesse implementado assim vamos ver se o teste falha.
Então isso significa que o teste a gente escreveu direito e está realmente testando
e vai falar se você não fizer a implementação corretamente.
Então está dizendo que esperou que o vale seja aquela função mock que a gente tinha
passado para o próprio componente mas recebeu uma função aqui.
Então vamos reverter de volta para props onChange, o teste está passando.
Vamos continuar para o próximo, fazer um novo teste unitário para propriedade checked.
Vai ser a mesma coisa, né?
Então que tal você tentar fazer aí para o si mesmo?
Pode pausar o vídeo.
Aí quando terminar a gente vai verificar se você fez direito.
Então deu tudo certo, vamos lá.
Vamos criar o teste, dá uma descrição, deve incluir um input.
O usual checked é, eu sempre tenho que mudar o teclado aqui, é determinado pela props
checked, dada pelo pai, né?
Se você quiser aprimorar mais a descrição.
Então passa o segundo.
Aargumento pro teste é uma função anônima, estou usando a função de flasher de seta.
Então vamos lá, vamos primeiro encontrar o input.
Component meuEnzymeRapper, find que input, desse input vamos pegar a prop valor da prop
checked, que foi dada esse input.
Aí esperamos, expect esse cara a ter vibli o quê?
Props checked.
O certo onde props, de novo, é aquele props que a gente definiu como variável aqui e
passou para o componente quando a gente deu shell.
A gente definiu o checks para ser falso nesse caso.
Você pode botar falso aqui que vai lá na mesma.
Mas só vai funcionar se realmente você passou falso no checks.
Se eu tivesse mudado esse cara para true, aquele teste ia falar, porque não está
mais referindo a prop, essa prop checked foi passada como true, mas você tinha mudado
esse cara.
Então, por isso que eu sempre uso props em vez do valor aqui, no caso se eu quisesse
mudar um dia aqui, eu próximo mudar e daria no mesmo.
Agora você muda para true, ainda vai passar do teste, porque está checando sempre que
era variável.
Qualquer maneira vamos continuar.
Está aí, expect o component, find input, aquela prop valor da prop checked, esperamos
que seja o valor que a gente deu que injetou como props quando a gente deu shell.
Vamos salvar, voltando ao terminal para ver o jest, está rodando no background.
Plano de fundo.
Está aí.
Passando.
Vamos verificar esse teste realmente.
Está verificando as coisas, está validando.
Vamos pegar esse check e botar para true, por exemplo.
Você não sabe que ele espera que o valor seja falso, mas recebeu true, então teste
funcionou nesse caso.
Vamos tentar false.
Opa, teste passou, por que?
Muito bem, é porque a gente passou o check como false e aqui está false também, mas
você está checando esse caro que é false, então o teste está passando.
É a mesma coisa que aconteceu aqui quando a gente tinha o input value que era mudando.
Então se você quiser aprimorar esse teste, passa o mesmo que você fez aqui para o teste
capturar aquela mudança de valor e não seja só o número, o valor estático.
Eu vou deixar como exercir para você se você quiser fazer.
Eu vou deixar assim mesmo.
Tudo ok?
Então é isso, as verificações das props que foram passadas para o componente input,
na terminão os testes unitários para esse componente input, só revisando de novo.
O que importa aqui é a gente vai verificar se o componente existe, nesse caso o componente
input existe, a gente verificou e verificou também se esse componente recebeu as propriedades
corretas, de maneira, o type, o name, value, onChange, checked, e a gente fez este teste
para cada prop.
Certo, agora a gente terminou, faz o teste para esse cara.
Vamos fazer
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: