[Front-End] React - Testando interfaces com react-testing-library

Поделиться
HTML-код
  • Опубликовано: 5 окт 2024
  • Neste vídeo mostro como criar seus primeiros testes funcionais utilizando a biblioteca react-testing-library.
    Apoie:
    apoia.se/mahen...
    Redes Sociais:
    Blog: blog.matheuscas...
    Site Pessoal: www.matheuscast...
    Facebook: / matheus.castiglioni.5
    Github: github.com/mah...
    Google Plus: plus.google.co...
    Instagram: / mahenrique94
    Linkedin: / matheus-castiglioni-7a...
    Medium: / mahenrique94
    Twitter: / mahenrique94
    Referências
    Sons: / @arefeitossonoros
    Animações: / @greenscreenbrasil e / channel
    Imagens: www.freepik.com/

Комментарии • 87

  • @thenriquedb
    @thenriquedb 3 года назад +1

    Parabéns pela aula, simples e direta!

  • @idilenebrito6570
    @idilenebrito6570 2 года назад +1

    preciso de mais video como o seu, estou no inicio e tenho muita dificuldade com testes. Parabéns, ótimo video!!! obrigada!

    • @MatheusCastiglioni
      @MatheusCastiglioni  2 года назад +1

      Obrigado Idilene, em breve vou começar uma série do zero e ir avançando aos poucos.

    • @idilenebrito6570
      @idilenebrito6570 2 года назад +1

      @@MatheusCastiglioni Opa!!! já ate ativei o sininho!

  • @almirsilva838
    @almirsilva838 2 года назад +1

    Muito boas explicações! Parabéns!

  • @NilsonStormy
    @NilsonStormy 3 года назад +1

    Obrigado, consegui compreender melhor o RTL graças a seu video

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 года назад

      Obrigado Nilson, preciso gravar mais vídeos atualizados sobre a lib

    • @NilsonStormy
      @NilsonStormy 3 года назад +1

      ​ @Matheus Castiglioni Estou aprendendo React, essa parte de RTL é um pouco complicada, mesmo já tendo visto jest...outra coisa que preciso aprender é o hooks e redux... tomei a iniciativa de te adicionar no linkedin, caso seja possível gostaria de tirar umas dúvidas quando você tiver tempo.

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 года назад

      demoro, pode me mandar mensagem, vou respondendo assincrono

  • @eversoncoutinhooficial
    @eversoncoutinhooficial Год назад +1

    Obrigado pelo vídeo. Foi exatamente o que estava a muito tempo procurando.

  • @joezersmaniotto3103
    @joezersmaniotto3103 Год назад +1

    Que qualidade, parabéns !

  • @RobsonAlvesJJ
    @RobsonAlvesJJ 3 года назад +1

    Valeu matheus ajudou bastante, muito obrigado.
    sou iniciante caso alguem passe pelo mesmo problema
    "waitforElement" Está deprecated eu descobri que agora e só "waitfor"

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 года назад

      Obrigado Robson e agradeço a ajuda com depreciação do waitForElement

  • @Fenderoutside
    @Fenderoutside 10 месяцев назад +1

    Muito bom 🎉

  • @gabrielpereiramendes3463
    @gabrielpereiramendes3463 3 года назад +1

    #Excelente!

  • @wictortec5627
    @wictortec5627 3 года назад +1

    Ajudou muito !

  • @carolineignacior.4480
    @carolineignacior.4480 Год назад +1

    brabo dms

  • @QuakeCorporation
    @QuakeCorporation 4 года назад +15

    ótimo vídeo man, continue postando videos sobre testes com react. Tem todo meu apoio.

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад

      Obrigado Cleber, pode deixar, vou ver se posto mais conteúdo sobre testes

  • @andersonnascimento6612
    @andersonnascimento6612 4 года назад +1

    Matheus, parabéns e obrigado!
    Excelente aula.

  • @amanda-fz7mt
    @amanda-fz7mt 3 года назад +1

    matheus já faz alguns meses que venho procurando no yt videos de assuntos x e y até já cheguei a comentar em um seu, toda vez me deparo com um video seu e são sempre muito uteis. parabens e vou seguir agora

  • @naninmartins
    @naninmartins 4 года назад +1

    Cara muito bom, super didático, parabéns

  • @carberilo
    @carberilo 4 года назад +1

    Rapaz gostei, simples e claro, como deve ser. Parabéns

  • @gilsilva12
    @gilsilva12 3 года назад +1

    Parabéns, muito bom o conteúdo. Não sou muito experiente, mas consegui compreender perfeitamente. Muito obrigada :)

  • @giovannicarmo2274
    @giovannicarmo2274 4 года назад +1

    Excelente explicação para o entendimento de programadores menos experientes.

  • @omanganotti4997
    @omanganotti4997 4 года назад +1

    Muito bom o vídeo, vc explica muito bem mano, eu to começando a aprender agora sobre testes e consegui entender tudo de forma clara e objetiva, as vezes o pessoal iniciante tem mais dificuldades, ai alguns detalhes que o pessoal não explica, passa batido deixando mais duvidas ainda, continua assim focando nos detalhes e ta muito bom.

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад

      Obrigado Giovanni, a ideia dos vídeos é não deixar a pessoa sair com dúvida (as vezes acontece), evoluindo e melhorando a cada dia.

  • @TiagoDiass2
    @TiagoDiass2 3 года назад +1

    Ótimo video, apoio fazer mais sobre o tema utilizando TypeScript

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 года назад +1

      Obrigado Tiago, no momento eu parei com o canal, se eu voltar eu vejo se faço com TS, agradeço a sugestão.

  • @maiconbdy
    @maiconbdy 4 года назад +1

    Conteúdo extremamente valioso! Ajudou muito!

  • @rafa.jferreira
    @rafa.jferreira 4 года назад +9

    Aprendendo muito sobre testes contigo. Parabéns, como te falei em outro vídeo, acho massa demais vc iniciar uma série.
    Vejo muita galera aprendendo a fazer clone de ifood, nubank e outros apps, seria muito legal fazer algum projetinho grande assim ou médio, porém com foco em TDD ou ao menos cobrindo de testes man
    E não sei se vc já usa, mas tem o terminal no próprio VSCode, vi q precisou dar uma redimencionada na tela...

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад

      Obrigado Rafael, fico feliz que esteja lhe ajudando, pretendo gravar mais vídeos de teste sim. Eu prefiro utilizar o terminal fora do VSCode, obrigado pelo toque.

  • @ronaldoaquino4039
    @ronaldoaquino4039 4 года назад +1

    Excelente conteúdo.

  • @makeemoneey
    @makeemoneey 3 года назад +1

    Parabéns pelo video man, muito top

  • @EduardoOliveira-ex8xq
    @EduardoOliveira-ex8xq 4 года назад +1

    Explicação muito boa! Obrigado pelo vídeo =D

  • @EuSouSalvi
    @EuSouSalvi 4 года назад +1

    Muito bom, obrigado de novo.

  • @backforstreets
    @backforstreets 3 года назад +1

    Matheus salvando de novo depois do single-SPA kkkkk. Valeu demais, cara! Seu conteúdo é excelente!

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 года назад

      Fala Julio, obrigado pelo feedback e pela força, fico muito feliz em ajudar de alguma forma =DDD

  • @majuladarks.8708
    @majuladarks.8708 2 года назад +1

    Matheus, na última busca que você fez pelo nome "testing", isso não vai dar falso positivos no futuro, caso sejam adicionadas tarefas com o mesmo nome? qual seria a saída para isso? roda um "loop for" e ir adicionando alguma key para diferenciar os itens?

    • @MatheusCastiglioni
      @MatheusCastiglioni  2 года назад

      Fala Majula, com certeza pode dar falsos positivos, otima observação. Nesse caso daria para verificar se não existe um registro antes de submeter o form e depois verificar se existe, da para fazer como você falou, através de algum data attribute tu pegar o key com algum identificar unico, daria para mockar um retorno da API no submit do formulário e com esse mock tu busca na tabela o valor, tem varias formas kkkkk

  • @lucaspedroso1484
    @lucaspedroso1484 4 года назад +1

    Sou ser fã irmão, tamo junto! #voltaPraDextra

  • @PauloSilva-um5wl
    @PauloSilva-um5wl 4 года назад +1

    Parabéns Matheus, o vídeo ficou muito bom. Seria bacana fazer um de um projeto real com requisições em API e etc....

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад +1

      Fala Paulo, sim, tenho bastante conteudo na fila aqui, só preciso voltar com o canal.

  • @igorbarbosa9292
    @igorbarbosa9292 4 года назад +1

    Parabéns pelo conteúdo amigo!
    Muito bom!
    Consegui entender todo o conteúdo de primeira!
    Explicação objetiva e simples de entender.
    Ganhou um inscrito :)
    ps: Já ganhou meu respeito pelo papel de parede o seu PC kkk

  • @aomadeira
    @aomadeira 4 года назад +1

    Muito bom o vídeo! Parabéns, só acredito que pra melhorar o último passo do teste poderia verificar a última task inserida e não qualquer elemento que tenha o texto da task, pro caso de tasks duplicadas ou até outros elementos na página com o nome da task. Talvez se colocar o último elemento como data-testid=lastest-task ou algo assim, aí pegar lá no test pelo testid latest-task, acho que assim seria mais acertivo, mas no geral um ótimo vídeo! Parabéns!

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад

      Eu não diria melhorar e sim adicionar mais validações. Para o exemplo do vídeo essa regra de negócio não é importante, só queriamos verificar se tinha uma tarefa independente de duplicidade ou ordem. Para pegar o ultimo, poderíamos pegar a ultima posição do array e verificar o conteúdo do mesmo. Obrigado pelo feedback, nos proximos videos sobre teste posso adicionar mais essa validação.

    • @aomadeira
      @aomadeira 4 года назад +1

      @@MatheusCastiglioni Show! Parabéns pelo trabalho, continua assim, teus vídeos são muito bons. 👍

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад

      Obrigado Anderson, fico muito feliz por isso.

  • @arthurmenezes1623
    @arthurmenezes1623 5 лет назад +1

    Show! ☕👌

  • @juscilan
    @juscilan 3 года назад

    13:14

  • @vivendonoespiritosempre
    @vivendonoespiritosempre 4 года назад +1

    Gostei muito da explicação. Mas gostaria de saber como fazer isso com mais de um campo, ao invés de somente um.

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад

      Obrigado Nelson, para isso você precisa buscar os demais campos e realizar as validações nele, assim como foi feito com o campo do todo

  • @JhonathasMatos
    @JhonathasMatos 4 года назад +2

    Olá, é melhor usar essa libary do que o padrão que vem no react pra testar?

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад +1

      Isso vai depender de cada cenário, se a padrão te atende o projeto, talvez não faça sentido usar uma externa, varia de cada arquitetura. Eu particularmente prefiro utilizar de forma separada.

    • @pablitoengineer
      @pablitoengineer 4 года назад +2

      O Jest puro ou em conjunto com o enzyme é muito bom mas muito focado em detalhe de implementação. Já a testing-library/react é mais focada em comportamento, e por isso executa testes mais focado do ponto de vista do usuário e não da implementação.

    • @MatheusCastiglioni
      @MatheusCastiglioni  4 года назад

      Também dá para fazer testes de comportamento com Jest e Enzyme Pablo, de maneira bem similar ao testing-library.

  • @rodrigodiasnoronha9154
    @rodrigodiasnoronha9154 5 лет назад +1

    Existe algum problema em pegar os elementos direto da DOM? Por exemplo, ao invés de usar o waitForElement e o getByTestId, simplesmente pegar o elemento com um document.querySelector?

    • @rodrigodiasnoronha9154
      @rodrigodiasnoronha9154 5 лет назад +1

      Aliás, excelente vídeo, qualidade incrível!

    • @MatheusCastiglioni
      @MatheusCastiglioni  5 лет назад +1

      Obrigado Rodrigo, eu não acho muito legal, afinal, temos todo conjunto de ferramenta disponível pelo testing-library.

  • @dadomarr
    @dadomarr 3 года назад +1

    quando eu sei que aquele componente precisa de "wait waitFor" na declaração dentro do jest?

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 года назад

      Fala Eduardo, normalmente quando é feita alguma ação que tenha efeitos colaterais ou não seja síncrona, ai a gente faz esse `wait` para garantir que tudo vai ser executado antes de buscar o elemento

    • @dadomarr
      @dadomarr 3 года назад +1

      @@MatheusCastiglioni no meu caso eu tenho um estado que renderiza dentro de um , no test ele tá vindo o valor antigo do estado, devo usar wait nesse caso?

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 года назад

      Preciso entender um pouco mais, no seu teste você pega o P com X valor, ai simula algum comportamento do botão que vai atualizar o conteudo do P, mas, no este o P ainda esta com o valor antigo, é isso?

    • @dadomarr
      @dadomarr 3 года назад +1

      @@MatheusCastiglioni isso! ao iniciar a aplicação o valor dentro do é R$0,00, depois que mudo alguns valores e do um Click em um botão, o altera o valor. Mas no test ele não muda o estado

    • @MatheusCastiglioni
      @MatheusCastiglioni  3 года назад

      @@dadomarr Uhmmmm, ja tentou buscar novamente o p? Ou seja, busca ele de novo depois de simular o click