Golang's Mocking Techniques - Kyle Yost | hatchpad Huddle
Вставка
- Опубліковано 7 лют 2025
- Golang's Mocking Techniques - Kyle Yost | hatchpad Huddle
🚀 Sign-Up for Weekly hatchpad Newsletter: www.myhatchpad...
🔔 Get alerted about startup job openings: www.myhatchpad...
During this discussion, Kyle Yost, a Software Engineer at CB Insights, will walk through the following 5 Mocking Techniques:
Higher-Order Functions
Monkey Patching
Interface Substitution
Embedding Interfaces
Mocking out Downstream HTTP Calls with net/http/httptest
🐣 What is hatchpad? 🐣
Hatchpad is the community for startup technologists.
Our members include Software Engineers, Product Managers, Data Scientists, and Tech Executives; all connected through their passion for startups and desire to create innovative technology.
Every week we chat with startup technologists to provide you behind the scenes insights on technical skills, career advice, and industry trends.
If you want to learn from and grow alongside a curated group of startup technical professionals, this community is for you.
16:16 "I need to mock a function" Higher Order Functions
20:30 "I need to mock a function" Monkey Patching
22:55 "I need to mock a method on a type"
25:55 "Accept interfaces, return structs"
27:00 "I have a large inteface, I need to mock a small set of its methods"
29:15 Embedding can be a hole in the type system
29:45 "I need to mock an HTTP call"
Well done Kyle. As old as this is, it is so relevant and very informative. I love the 'large interface - small set' test. You have opened my mind to a pattern I can use even beyond mock testing. Have an air coffee on me. Thanks dude and be blessed.
Wish I saw this video a year earlier when I started learning Go. My first language for work env is Go. And even after a 6 months I was not sure about unit testing in Go. This is really helpful for beginners!!!
Probably the best explanation of the golang mocking on the web. Thank you!
Invaluable video. Thank you
The monkey patching thing is fire 🔥
excellent talk. Excellent comments. Excellent points. Excellent wisdom
Kyle, it is really really helpful. Thank you.
Glad it was helpful for you!
A gem of a video
Thanks for watching!
2024 still super super helpful
Great talk!
Just to mention that nowadays gomock is archived, but Uber maintains a fork.
Thank you so much Kyle Host for this superb unit testing video.
Is there any way for testing channels, signals, goroutines, locks.
Just got what i really want to know
EDIT: Looks like you get to this at the end of the talk 😂. If you have a large interface and you need to test just a few of the methods then you need to be writing more SOLID and idiomatic go. "Interface Segregation Principle revolves around the idea that clients should not be forced to rely on methods they do not use. To achieve this, the principle suggests creating specific interfaces or classes tailored to the needs of individual clients."
What IDE is he using when doing the demo? I usually just use Vim, but I'm considering my options. It's visible at ua-cam.com/video/LEnXBueFBzk/v-deo.html
goland
How about not mocking