Golang's Mocking Techniques - Kyle Yost | hatchpad Huddle
Golang's Mocking Techniques - Kyle Yost | hatchpad Huddle
🚀 Sign-Up for Weekly hatchpad Newsletter: www.myhatchpad.com/newsletter/
🔔 Get alerted about startup job openings: www.myhatchpad.com/job/submit...
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.
Пікірлер: 19
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"
Probably the best explanation of the golang mocking on the web. Thank you!
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!!!
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.
The monkey patching thing is fire 🔥
excellent talk. Excellent comments. Excellent points. Excellent wisdom
A gem of a video
@hatchpad1444
2 жыл бұрын
Thanks for watching!
Kyle, it is really really helpful. Thank you.
@hatchpad1444
2 жыл бұрын
Glad it was helpful for you!
Invaluable video. Thank you
2024 still super super helpful
Thank you so much Kyle Host for this superb unit testing video. Is there any way for testing channels, signals, goroutines, locks.
Great talk! Just to mention that nowadays gomock is archived, but Uber maintains a fork.
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 kzread.info/dash/bejne/fnmiuqSulamoqs4.html
@Slash3b
3 жыл бұрын
goland
How about not mocking