Aula 55
Testando as Props do Input Type Radio
Summary
Resumo da Aula sobre Testes de Inputs com Props
Nesta aula, o foco é realizar testes para verificar se os inputs recebem as props corretamente. Vamos descrever o processo de criação e verificação dessas props em um componente React.
Verificação do name
-
Teste do Input
name
:- Crie um teste para verificar se o input recebe o
name
definido nas props. - Utilize
expect
para garantir que oname
do input seja igual ao valor deprops.name
, por exemplo, "general".
- Crie um teste para verificar se o input recebe o
-
Definindo
props
:- Declare
let props
no escopo externo ao teste para permitir redefinições antes de cada teste. - Durante o teste, utilize
expect
para validar queinput.name
seja igual aprops.name
.
- Declare
Verificação do value
-
Teste do Input
value
:- Crie um novo teste para incluir um input com o
value
recebido pelas props. - Utilize
expect
para verificar seinput.value
é igual aprops.value
, como por exemplo, "masculino".
- Crie um novo teste para incluir um input com o
-
Mudança de Props:
- Altere o
value
para um novo valor (por exemplo, "feminino") e reafirme o teste para garantir que o input se ajusta às novas props. - Se o teste falhar, isso reforça a necessidade de verificar se o componente lida corretamente com valores variáveis.
- Altere o
Verificação de checked
- Teste do Input
checked
:- Similar aos testes anteriores, verifique se o input recebe a prop
checked
. - O valor esperado pode ser
false
, e o teste deve passar mesmo se a implementação inicial estiver incorreta.
- Similar aos testes anteriores, verifique se o input recebe a prop
Conclusão
Esses testes são fundamentais para garantir que o componente React reage de maneira correta às mudanças de props, especialmente quando lidamos com valores que podem ser alterados ao longo do tempo, evitando problemas futuros com constantes que podem não refletir a lógica esperada do componente. É importante sempre manter os testes atualizados e rigorosos para qualquer alteração nas props.
Video Transcript
Nessa aula nós vamos fazer teste para verificar se o input realmente recebeu as props corretamente.
Vamos começar.
Vamos primeiro verificar o name.
Vamos criar um teste.
Você deve incluir um input com o name vindo setado pela props.
Vamos lá.
Nós esperamos que o name seja o props.name.
Nesse caso aqui no nosso teste vai ser general.
Então, eu expecto que component find.
Input.
A gente já sabe que só o name tem um input no radio.
Então, não precisa botar type radio aqui, mas se você quiser adicionar só de pré-calção, pode adicionar.
Eu sei que só tem um input nesse caso.
E eu vou pegar o próprio name.
O valor desse cara tem que ser to be okay.
A gente pode usar o seu extra variable general aqui e vai funcionar.
Eu gosto de usar referenciar essa variable props porque o que acontece é mudar esse cara aqui no teste.
Esse cara aqui, se tivesse general, por exemplo, vou mudar o teste, mas se tiver general, está errado.
A gente mudou os props iniciados ali.
Então, eu vou acessar props.name.
Agora vai dar erro porque o props não é acessível.
A props is not defined.
Então, por isso que a gente tem que pegar esse cara.
Não vamos declarar props aqui, vamos declarar o cara como no block de fora.
Let props.
Usando let porque a gente sempre redefine o props.
Antes de cada teste.
Let é usado para que elas muda.
Se você usar o const, você só pode definir variável uma vez e não mais.
Por isso a gente tem que usar o let para poder redefinir várias vezes o valor daquela variável.
Então, vamos lá.
Expect to be props.name.
Deu tudo certo.
Se você quiser criar um caso de teste para cada prop, pode fazer também.
Ou pode fazer tudo aqui, depende de você.
Por exemplo, para o value que a gente vai fazer agora.
O que acontece se o value aqui, a gente tivesse mudado para o valor, sei lá, masculino, um constante aqui.
O teste que a gente fez assim, teste simples, iria falhar porque embora que seja o mesmo.
Isso ia mudar o valor do value, depois com novas props, ele não vai verificar isso.
Então, vamos ver esse cara aqui.
Vamos ver o que acontece.
Vamos criar um novo teste.
Deve incluir um input com o value setado pelas props.
An expect component, find o que?
O input com qual é a propriedade?
O value, esse cara aqui que vem do props.
Nós esperamos que esse caso seja o que?
Props.value.
Nesse caso, esse prop se refere a essa variável aqui.
Nos casos vai ser masculino.
Agora, se a gente fizer assim, vamos ver se o teste está passando.
A gente já fez esse experimento antes, o que acontece se o value aqui é masculino, constante.
O teste ainda passa.
Você pode reforçar o teste dessa maneira aqui.
Você vai setar o que?
Dá novas props, esse component, set props, com o value para outro valor.
Da menino, por exemplo.
Aí você vê o que acontece.
Dá o expect novo, component, find, input, aquela prop, value.
Que agora vai ter valor.
To be feminino.
Mas o teste falhou.
Então, reforçamos o teste.
Agora, realmente, é de falha quando você passa o constante ali, que tem um valor igual aos nossos próprios iniciais falsos do teste.
Então, vamos reverter aqui para o original e ver se o teste ainda passa.
Devem, por exemplo, a gente setar o props, expect a value feminino, receber o feminino.
O que aconteceu aqui?
Ah, eu botei um espaço aqui, desculpa.
Não tem espaço.
Estou passando, então tudo certo.
Verificamos o value.
Então, você pode sempre reforçar os testes dessa maneira aqui, quando você tiver valores que são variáveis que as props podem mudar e não são constantes.
Certo?
Então, vamos continuar.
Props test.
Project.
Incluir.
Vou fazer esse aqui.
Estando pelas props.
Agora, a mesma coisa.
Como sempre, o ímpado.
Check a prop.
Check.
Teo view key.
Props ponto checked.
Nesse caso, o check que a gente definiu aqui é false.
Então, o teste está passando.
Mesmo que tenha false aqui na implementação, que está errado, o teste vai passar.
Mesmo problema de teste interior.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: