Um momento
Aula 39
Cursos / React: Componentes Controlados
Curso React: Componentes Controlados

Summary

Resumo da Transcrição

A seguir está um resumo das principais partes da transcrição:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Validação do Teste:

    • O autor modifica a prop checked para true 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.
  6. 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: