Testes Unitários - Python Conceitos Rápidos

Поделиться
HTML-код
  • Опубликовано: 13 дек 2024

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

  • @cavalostudosobrecavalos
    @cavalostudosobrecavalos 2 года назад +2

    Cara esse material seu é um legado. Nunca encontrei no RUclips material como esse.

  • @brunodonascimentomaciel9984
    @brunodonascimentomaciel9984 3 года назад +14

    Aquele conteúdo que separa os Homens dos meninos. Muito bom.

  • @lcfrod
    @lcfrod 18 дней назад

    Excelente. Obrigado.

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

    Seu canal é um verdadeiro curso de python

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

    Parabéns Rafael! Conteúdo de primeiríssima qualidade!

  • @JoaoLucas-xf1vo
    @JoaoLucas-xf1vo 2 года назад

    Otimo video, não conhecia a biblioteca Faker, achei bem legar valeu meu mano.

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

    Seu canal está muito bom! Ótima explicação. Parabéns (:

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

    Excelente explicação!

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

    Ótimo conteúdo!! Valeu :D

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

    A blioteca faker não conhecia obrigadoo pelo conhecimento

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

      Biblioteca muito dinâmica, ajuda muito até em data science. Sucesso aí!

  • @leo1722467
    @leo1722467 Год назад

    Fácil de entender contigo explicando, difícil de fazer/aplicar.

    • @ProgramadorLhama
      @ProgramadorLhama  Год назад

      Aqui no canal tem algumas playlists que realizo projetos com esses modelos. Depois da uma olhada lá! :)

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

    Faz vídeos sobre fastApi

  • @gab0nezio
    @gab0nezio Год назад

    VC usa Ubuntu? pq fica a parte de apps ou a line da interface do Ubunto fica em cima da GUI do Vscode?

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

    Ihama que tema é esse que vc está usando?

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

    No aquivo de teste "add_test.py" onde você utiliza o faker pra gerar os dois número e depois somar. Não seria errado utilizar o resultado de uma segunda operação como expected output? Não deveriamos já dar o valor que esperamos, pois nesse caso inserimos uma operação ao invés de um valor esperado.

    • @ProgramadorLhama
      @ProgramadorLhama  3 года назад +6

      Como a lógica dentro do método é uma operação, é exatamente a operação que eu queria testar de forma totalmente aleatória. Logo, caso eu passasse o valor esperado, eu estaria abrangendo somente um caso dentre N casos (famoso pensamento: será que a operação funciona pra N casos diferentes?) Mesmo assim, acaba sendo interpretativo. Você pode fazer os seus testes de acordo com o contexto que achar mais adequado

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

    Preciso de uma explicação seria possível ?
    Um exemplo de como eu faço dois testes na mesma função,mas uma com OK e outra dando erro e retornando um raise .. como ficaria isso no pytest ?
    como seria mostrado ali no retorno do pytest?
    Qdo é um teste de OK ... fica verdinho , mas qdo testo um erro .. por mais que trato com o raise com a mensagem que quero fica feio com linhas de erros e não somente a mensagem do raise !
    tem como ?

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

      Existem vários jeitos pra isso. Mas o mais simples é vc colocando a função dentro de um try-except. Então o erro faria vc ir pro catch e lá vc faz a sua validação unitária.
      Tenho um exemplo no github:github.com/programadorLhama/Request_Api_Project/blob/master/src/infra/swapi_api_consumer_test.py
      Veja que o primeiro teste é ok, já o segundo é com erro

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

      @@ProgramadorLhama Bacana , mas ainda não consigo ler o código muito bem , rs !

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

      Tenta somente colocar a função com erro dentro de um try-except. Aí vc consegue capturar o erro

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

      @@ProgramadorLhama Na verdade faço assim :
      Na função faço minha comparação
      def verificar_maior(num):
      if num > 1:
      return = num
      else:
      raise RuntimeError("@ não é maior ")
      e no meu teste faço assim:
      def teste_verificar_maior():
      atual = verificar_maior(2)
      expected = 2
      assert atual == expected
      teste de erro:
      def test_verificar_maior_erro():
      with pytest.raises(RuntimeError):
      verificar_maior(1)
      Desculpa o exemplo "tosco" , mas não sei se ficou claro !
      pq ai qdo rodo o pytest o teste OK fica verdinho mas o de erro ele traz o raises porem fica feio aparecendo e não verdinho ... desculpa mas estou bem no inicio de entender esses testes.

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

      try:
      verificar_maior(0)
      assert True is False
      Except:
      assert True is True
      Dessa forma, se der erro, ele cai no except. Caso contrário cai no assert errado do try.
      Vc tbm pode fazer Except RuntimeError pra pegar o erro em específico