Por quê é difícil escrever testes unitários (mocks com phpunit)?

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ม.ค. 2025

ความคิดเห็น • 93

  • @Filhodanuvem
    @Filhodanuvem  4 ปีที่แล้ว +19

    Acho que esqueci de explicar uma coisa:
    - Na primeira vez que usamos createMock ele basicamente sobrescreveu o método calculateFee retornando um valor nulo por padrão. Por isso os testes começaram a passar sem que explicitamente tivéssemos que definir que o retorno é zero, como fizemos no fim do dia com retorno 10. Qualquer dúvida é só responder esse comentário 😉.

    • @thiagotanaka2290
      @thiagotanaka2290 3 ปีที่แล้ว +1

      Eu não tinha entendido essa questão durante o video, obrigado por explicar, esse foi o melhor video sobre o assunto que ja vi.

  • @mariosergiosilva8820
    @mariosergiosilva8820 4 ปีที่แล้ว +7

    Sou analista com graduação em licenciatura em computação e vibro quando vejo alguem com tamanha entrega e prazer em ensinar. Parabéns pela sua didática e competência Filho da Nuveml

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว

      Pô, valeu mesmo pelas palavras Mario. Significa muito!

  • @AndersonSantos-hg8nd
    @AndersonSantos-hg8nd ปีที่แล้ว

    A clareza didática desta aula é de impressionar desde alunos a mestres. Você é de fato um mestre! Parabens!

  • @DiasDeDev
    @DiasDeDev 4 ปีที่แล้ว +4

    Muito boa didática! Parabéns.
    O PHPUnit desde a versão 9 já tem também o método createStub, então a gente consegue deixar essa diferença mais explícita o código.
    :-D
    Falando um pouco sobre o purismo, como você comentou, existiu há alguns anos uma boa briga na academia sobre os termos testes de unidade e testes unitários. A conclusão da galera da academia foi que o termo Teste de Unidade é mais correto pois Teste Unitário tem a conotação gramatical de um teste único, e não de um teste de unidade mesmo.
    Mas, detalhes, né!?
    Parabéns pelo trabalho!

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว +3

      Que legal que existe createStub agora :)
      Já ouvi uma galera falando sobre teste de unidade e faz mais sentido mesmo, só não passei pelo processo de adaptação ainda 😅.
      Valeu mano!

  • @flawtista
    @flawtista 3 ปีที่แล้ว +3

    Cara foi a melhor explicação de testes de unidade que eu vi. Parabéns!

  • @AdarlanTeixeira
    @AdarlanTeixeira 4 ปีที่แล้ว +6

    Muito bom!! Apesar de eu não programar especificamente em PHP, tirou muitas dúvidas que eu tinha sobre testes unitários em geral

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว +3

      Boa Adarlan! A ideia era mesmo ser menos sobre php e mais sobre os testes. Que bom que ajudou.

  • @maaaximiliano
    @maaaximiliano ปีที่แล้ว

    Gostei muito que você criou um mock caseiro criando uma classe dublê e alterando o método da função. Achei super didático!

    • @Filhodanuvem
      @Filhodanuvem  ปีที่แล้ว

      Valeu max, a ideia era essa mas nunca da pra saber como vai ficar no resultado final. Que bom que curtiu

  • @laerciokelson1
    @laerciokelson1 2 ปีที่แล้ว

    É um prazer ver uma pessoa a explicar com muita competência e vontade. Parabéns

  • @taissantana681
    @taissantana681 2 ปีที่แล้ว

    Muito bom ! Certamente uma das melhores aulas/série esclarecendo o que é de fato Mock e testes unitários !

    • @Filhodanuvem
      @Filhodanuvem  2 ปีที่แล้ว

      🥰🥰🥰🥰🥰 valeu Taís.

  • @vinitwl
    @vinitwl 2 ปีที่แล้ว

    Sou Júnior e estou começando minha carreira, fui incumbido de escrever os testes de uma aplicação bem complexa da empresa, seu vídeo caiu como uma luva pra mim, show de bola!!

    • @Filhodanuvem
      @Filhodanuvem  2 ปีที่แล้ว

      Que legal que ficou responsável por escrever testes Vinicius. Fico feliz que o vídeo tenha ajudado.

  • @korra9227
    @korra9227 3 ปีที่แล้ว +1

    Que aula incrível!! Parabéns!

  • @ropehapi
    @ropehapi ปีที่แล้ว

    Eu estudo programação a 3 anos e a mais de um vinha tentando entender melhor sobre testes automatizados, e com certeza o seu conteúdo foi o mais esclarecedor sobre o assunto, está de parabéns irmão

    • @Filhodanuvem
      @Filhodanuvem  ปีที่แล้ว

      Fico muito feliz que tenha esclarecido, é o melhor elogio que posso receber nesse vídeo. Valeu mesmo! Tenho uma playlist de testes caso não tenha visto os outros e está na minha fila falar de testes de integração.

    • @ropehapi
      @ropehapi ปีที่แล้ว

      @@Filhodanuvem Já vi a playlist sim, na verdade eu vim aqui comentar isso depois de assistir a playlist inteira rsrsrrs. Aguardo ansiosamente pela de testes de integração, que sinceramente vem a calhar pra mim no momento, estou tendo muita dificuldade com os testes de integração pois minha aplicação usa muito da sessão do usuário para armazenar as coisas do carrinho :/

    • @Filhodanuvem
      @Filhodanuvem  ปีที่แล้ว

      Normal. Minhas dificuldades em fazer teste unitário eram justamente isolar o código. Trabalhei em sistemas onde o código era muito acoplado, o que dificultava os testes.

  • @jglopesdev
    @jglopesdev ปีที่แล้ว

    Conheci seu canal agora e já me inscrevi.
    Você explica muito bem, parabéns e obrigado por compartilhar

    • @Filhodanuvem
      @Filhodanuvem  ปีที่แล้ว

      Opa, bem vindo! Obrigado pelo elogio aliás .

  • @CarlosHenrique-er7zq
    @CarlosHenrique-er7zq 3 ปีที่แล้ว +1

    Sensacional, ajudou muito a esclarecer várias dúvidas que eu tinha!

    • @Filhodanuvem
      @Filhodanuvem  3 ปีที่แล้ว

      Valeuuu Carlos! Que bom que te ajudou!

  • @rodolfonasct
    @rodolfonasct 4 ปีที่แล้ว +1

    Cara, muito bom, foi a primeira vez que eu entendi como o expects é útil! Faz uma playlist de phpunit 😬

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว +1

      Aeeee que bom que conseguiu entender. Quem sabe não faço mais vídeos em cima do phpunit 😉

    • @rodolfonasct
      @rodolfonasct 4 ปีที่แล้ว

      @@Filhodanuvem massa, eu vou ver com certeza 😬

  • @luisfernandocostaferreira2195
    @luisfernandocostaferreira2195 4 ปีที่แล้ว

    Parabéns Claudson pelo conteúdo e didática, apontou detalhes importantes.

  • @rafaelfurtado1923
    @rafaelfurtado1923 3 ปีที่แล้ว

    Cara, tu é muito top!
    Parabéns!

    • @Filhodanuvem
      @Filhodanuvem  3 ปีที่แล้ว

      Opa! Valeu Rafael, fico feliz que tenha curtido o vídeo

  • @ShalomsantosShalom
    @ShalomsantosShalom ปีที่แล้ว

    muito bom, linguagem simples e direta

    • @Filhodanuvem
      @Filhodanuvem  ปีที่แล้ว

      Uhull, que bom que curtiu. Valeu

  • @Fernando-du5uj
    @Fernando-du5uj 4 ปีที่แล้ว

    Tu ensinou Injeção de Dependência de uma maneira extremamente simples. E a sua didática é incrível, cara. Tive que pausar o vídeo e vir comentar isso. Parabéns meu mano, puta vídeo top! Ah, tu podia fazer uma série ensinando POO com PHP ein, seria legal hahaha. Xô voltar pro vídeo!

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว +1

      Opa, valeu mesmo Fernando. Que bom que curtiu o resultado. Cara, essa ideia é bem daora mas esses vídeos de testes tem tido baixa audiência, talvez por ser sobre php. Ainda não sei o interesse da galera em php, me ajuda compartilhando o vídeo, quem sabe não brota mais gente interessada 😉.

  • @pedestaljunior8963
    @pedestaljunior8963 4 ปีที่แล้ว

    Tinha q botar esse vídeo numa moldura. Conceitos q eu achava complexo e viraram brincadeira com sua explicação. Muito obrigado.

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว

      😍😍 Esse tipo de comentário me dá força pra não parar, obrigado mesmo por dizer que te ajudou. As vezes lançamos vídeos mas não sabemos se foram úteis ou não 😂.

  • @kevinmedeiros6619
    @kevinmedeiros6619 3 ปีที่แล้ว

    Cara, que video bem bom. Parabéns.

    • @Filhodanuvem
      @Filhodanuvem  3 ปีที่แล้ว +1

      Valeuuu Kevin! Fico feliz que tenha curtido.

  • @g3andre
    @g3andre 8 หลายเดือนก่อน

    Explicação sensacional...

    • @Filhodanuvem
      @Filhodanuvem  8 หลายเดือนก่อน

      Valeuuu André

  • @pedroamorim4764
    @pedroamorim4764 4 ปีที่แล้ว

    Claudson e fėra, as dicas dele me ajudam muito nós meus estudos.

  • @fernandovallervideos
    @fernandovallervideos 3 ปีที่แล้ว

    Muito bom! parabéns.

  • @anonyms5149
    @anonyms5149 3 ปีที่แล้ว

    Excelente vídeo maninho, ajudou muito

    • @Filhodanuvem
      @Filhodanuvem  3 ปีที่แล้ว +1

      Valeu! Que bom que foi útil!

  • @brunonairlanda
    @brunonairlanda 4 ปีที่แล้ว

    Mais um vídeo sensacional. Muito bom.

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว

      Valeu Bruno pela força de sempre.

  • @cyb3rwolf1
    @cyb3rwolf1 4 ปีที่แล้ว

    Parabéns pelo vídeo, objetivo e bem explicado!!

  • @maydana.programador
    @maydana.programador 2 ปีที่แล้ว

    Que cara bom, + 1 inscrito

  • @eduardokuhn6925
    @eduardokuhn6925 3 ปีที่แล้ว

    Fantástico!

  • @marcelofranca6943
    @marcelofranca6943 4 ปีที่แล้ว

    Muito bom!!!

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว

      Que bom que curtiu Marcelo!

  • @lucasdepace
    @lucasdepace ปีที่แล้ว

    Valeu!

    • @Filhodanuvem
      @Filhodanuvem  ปีที่แล้ว

      Valeu Lucas pelo superthanks! Que bom que curtiu o conteúdo

    • @lucasdepace
      @lucasdepace ปีที่แล้ว

      @@Filhodanuvem po conteudo mt bom e didatica melhor ainda, tu e brabo meu mano

  • @WaldirBorbaJunior
    @WaldirBorbaJunior 4 ปีที่แล้ว

    excelente didatica. parabens.

  • @milkshakson
    @milkshakson 2 ปีที่แล้ว

    Mano.... Você é foda.

    • @Filhodanuvem
      @Filhodanuvem  2 ปีที่แล้ว

      Ahh para 🥰😂😂😂. Valeu pelo comentário

  • @lucasguitar00
    @lucasguitar00 ปีที่แล้ว +1

    Como faço mock da conexão do banco ?

    • @Filhodanuvem
      @Filhodanuvem  ปีที่แล้ว

      Geralmente você tem uma classe que depende da conexão e funciona como uma camada pro resto do software acessar dados, uma classe Repository ou DAO. Nesse caso você mocka essa classe ao invés da conexão. Imagino que de se for muito necessário você mocka a classe que representa a conexão, no php tem uma classe PDO se não me engano.

  • @MsDiogocouto
    @MsDiogocouto 4 ปีที่แล้ว

    Bom dia Claudson , poderia falar um pouco do Brownser Sync ??? estou tendo dificuldades para encontrar arquivos que falam a respeito ...a forma d e usar e para que serve . Obg!!

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว

      Fala Diogo, acho que nunca usei o Browser Sync, valeu pela sugestão. Estou planejando em fazer uma pausa de descanso dos videos de testes e no futuro voltar com mais videos, vou deixar sua sugestão anotada 😉.

  • @wesleydst404
    @wesleydst404 4 ปีที่แล้ว

    muito bom!

  • @weslleyaraujo1380
    @weslleyaraujo1380 2 ปีที่แล้ว

    Por o $sender->sendEmail() fica depois da asserção e não antes?

    • @Filhodanuvem
      @Filhodanuvem  2 ปีที่แล้ว +1

      Como o php interpreta e executa linha por linha de forma sequencial se você colocar primeiro o send e depois o expect primeiro o php vai mandar o e-mail e depois vai registrar uma “expectativa de envio de e-mail” o que nunca vai acontecer dali pra frente.

    • @weslleyaraujo1380
      @weslleyaraujo1380 2 ปีที่แล้ว

      @@Filhodanuvem Show, agora entendi! Obrigado.

  • @andrevitor103
    @andrevitor103 2 ปีที่แล้ว

    muiiito bomm :))

  • @geovanigleidson8967
    @geovanigleidson8967 4 ปีที่แล้ว

    Estagiários ou Juniors, em uma empresa, costumam fazer testes no programa? Pergunto isso porque ainda não sei quais são os conhecimentos exigidos no início.

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว

      Boa Geovani!
      Estagiários são pessoas que estão bemmmm no começo e vão aprender muito na empresa, com certeza elas deviam estar estudando outras coisas por exemplo como programar.
      Juniors são pessoas iniciantes mas na minha opinião é uma galera que já conhece algoritmos, eu não esperaria saber testes de um júnior. Se a pessoa souber seria uma feliz surpresa pra mim, acho que seria uma coisa para entender que essa pessoa está muito perto de uma posição mais pleno (claro que essas classificações sao complexas e eu tenho dois vídeos inteiros só sobre isso).
      Pra você ter uma ideia tem sênior que não sabe e ta "tudo bem", são sênior mas não sabem.

    • @EsronDtamar
      @EsronDtamar 4 ปีที่แล้ว

      Onde eu trabalho os estagiários passam por treinamento junto com um cara mais experiente, e sim, é ensinado como criar testes e como criar classes fáceis de testar.

    • @EsronDtamar
      @EsronDtamar 4 ปีที่แล้ว

      Mas assim, não é exigido, o estagiário pode chegar zerado de Engenharia e Arquitetura. Só é exigido lógica de programação. Afinal, o cara é um aprendiz.

    • @geovanigleidson8967
      @geovanigleidson8967 4 ปีที่แล้ว

      @@EsronDtamar Eu aqui tentando aprender duas linguagens, banco de dados e um ou outro framework pra ver se consigo uma vaga de estágio kkkkkkkkk

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว

      Valeu por compartilhar sua experiência Erson.
      Geovani quando achar vaga se aplica. Se tudo der errado você pode pedir dicas pra conseguir guiar seus estudos.

  • @_isaac_muniz_
    @_isaac_muniz_ 3 ปีที่แล้ว

    Esse livro atrás de vc, "PHP Profissional" é bom?

    • @Filhodanuvem
      @Filhodanuvem  3 ปีที่แล้ว +1

      Fala Isaac, esses livros de linguagem de programação geralmente não envelhecem muito bem. Acho que esse livro foi escrito usando alguma versão anterior a 5.3, então dá pra ler ele para pegar conceitos de oo com php mas vai faltar muita coisa até a versão 8.

  • @jaguarnet7
    @jaguarnet7 4 ปีที่แล้ว

    Simples e direto ao ponto. Para se aprofundar no assunto de Test Double recomendo "xUnit Test Patterns: Refactoring Test Code" do Meszaros. Tem uma parte no site xunitpatterns.com/Test%20Double.html

    • @Filhodanuvem
      @Filhodanuvem  4 ปีที่แล้ว

      Boa Raphael. Valeu por compartilhar 👍🏾

  • @PedroLucas-st6rd
    @PedroLucas-st6rd 3 ปีที่แล้ว

    Muito bom!

    • @Filhodanuvem
      @Filhodanuvem  3 ปีที่แล้ว

      Valeu , que bom que curtiu!