Тёмный

MOCKGEN - Como fazer MOCKS de funções/interfaces em Go para testes UNITÁRIOS!? 

HunCoding
Подписаться 4,8 тыс.
Просмотров 1,6 тыс.
50% 1

Опубликовано:

 

6 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 5   
@lazaromanuelcunga6195
@lazaromanuelcunga6195 Год назад
Muito bom, pensei até que não falarias dele
@GabrielGasp
@GabrielGasp Год назад
Interessante esse pacote da Uber, achei a syntax melhor que a do stretchr/testify que é a mais usada em Go (até onde eu sei).
@huncoding
@huncoding Год назад
Sao para propostas diferentes, o testify é pra fazer alguns tipos de mocks mas ele é mais complicado de criar mocks e o foco principal dele sao os assert da vida. Ja o mockgen tem unica e exclusivamente a funcaode fazer mocks de interfaces Da pra usar o testify pra tudo, mas da muita dor de cabeça perto da facilidade do mockgen kkkkkkkkkkk
@FelipeMadureira-i2k
@FelipeMadureira-i2k 14 дней назад
Excelente vídeo! Só fiquei com uma dúvida, eu tenho dificuldade pra escrever bons testes. As vezes começo a mockar e no fim das contas parece que meus testes não estão testando "nada" pela abstração que os mocks estão fazendo Por exemplo, no último teste do vídeo, você coloca: repo.EXPECT().FindUserByID(id).Return(nil, rest_err.NewNotFoundError("user not found")) e logo em seguida você testa se o retorno de user é nulo e se o retorno do erro é "user not found". Minha dúvida é: nesse caso, o teste não vai ser sempre verdadeiro? pois você está testando o retorno direto dos mocks
@huncoding
@huncoding 3 дня назад
Essa é a ideia de um teste unitário, garantir que o retorno da peça externa será mantido e não vai ser alterado pelo método em si. Se você não mockar, não estará testando a unidade e sim um fluxo completo, entende? Nestes casos o teste de integração se enquadra melhor.
Далее
Golang TUI Project Basics - Shopping List | Part I
20:40
Golang Testing (full tutorial)
13:38
Просмотров 31 тыс.
Five of my favorite project ideas to learn Go.
11:31
Просмотров 64 тыс.