Testes UNITÁRIOS em GoLang com MongoDB - Como fazer MOCK das chamadas ao banco de dados?

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

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

  • @otaviowill
    @otaviowill 10 หลายเดือนก่อน

    👏🏼👏🏼👏🏼👏🏼

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

    Parabéns pelo trabalho! Estamos com imensa dificuldade de achar o desenvolvedor que começa bem a linguagem Go e Principalmente integrando com Node e Mongo.
    Mandamos uma msg no LinkedIn. Aguardamos o seu retorno.

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

    Voce já viu, Goland EAP, digo Beta, liberado para o pessoal usar, for free, só precisa cadastrar o e-mail e ja habilita, depois fui usar o oficial e nao pude, bem legal ter uma versão mesmo beta do Goland para usar e aprender

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

      Cara eu nunca vi nem ouvi falar, vou dar uma pesquisada no que é, me pareceu interessante hahahaha

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

    Ola! Parabens pelo video. Só Gostaria de saber como faço a mesma coisa só que com um db sql ( postgres, mysql, etc..)?

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

      Cara, para estas libs, geralmente na propria biblioteca vem as formas de voce fazer mocks, principalmente quando falando de mysql. Ainda não tenho nada no canal, mas da uma olhada neste artigo: medium.com/scum-gazeta/database-mocking-in-go-5925c2cc1079

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

    Muito legal o conteúdo, parabéns! Eu estou tendo um problema gostaria de compartilhar aqui:
    Não sei se pode está acontecendo com outras pessoas, mas comigo na linha "databaseMock := mt.Client.Database(databaseName)" onde acontece essa declaração, acontece um panic: ""runtime error: invalid memory address or nil pointer dereference""

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

      Opa eai!!
      Como está a parte de cima do código, antes de iniciar seu sub-test

    •  ปีที่แล้ว

      Isso acontece porque durante a chamada de "mt.Client.Database(...)" você está usando o "*mtest.T" retornado pela função mtest.New no nível do teste e não o "*mtest.T" que é criado no nível do sub-test. Este ponteiro que é criado no nível do teste tem seus valores apagados quando entra no escopo do sub-test e então ao tentar acessar o atributo ".Client" do ponteiro no escopo do teste ele vai quebrar dizendo que é um ponteiro para nil.