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.

КОМЕНТАРІ • 20

  • @waffleboot
    @waffleboot 4 роки тому +30

    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"

  • @kevinkkirimii
    @kevinkkirimii Рік тому

    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.

  • @shub_zzz
    @shub_zzz 4 роки тому +6

    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!!!

  • @vedrandekovic
    @vedrandekovic 3 роки тому +3

    Probably the best explanation of the golang mocking on the web. Thank you!

  • @domemvs
    @domemvs 11 місяців тому

    Invaluable video. Thank you

  • @hereallyfast
    @hereallyfast Рік тому

    The monkey patching thing is fire 🔥

  • @SeanMacdonald_CodeMonk
    @SeanMacdonald_CodeMonk 10 місяців тому

    excellent talk. Excellent comments. Excellent points. Excellent wisdom

  • @ultiumlabs4899
    @ultiumlabs4899 3 роки тому +3

    Kyle, it is really really helpful. Thank you.

  • @sumer9999
    @sumer9999 2 роки тому +3

    A gem of a video

  • @stack.1
    @stack.1 9 місяців тому

    2024 still super super helpful

  • @Christo6020
    @Christo6020 Рік тому

    Great talk!
    Just to mention that nowadays gomock is archived, but Uber maintains a fork.

  • @imsachinraut
    @imsachinraut 3 роки тому +1

    Thank you so much Kyle Host for this superb unit testing video.
    Is there any way for testing channels, signals, goroutines, locks.

  • @codertjay
    @codertjay Рік тому

    Just got what i really want to know

  • @hereallyfast
    @hereallyfast Рік тому

    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."

  • @johnmyeager
    @johnmyeager 4 роки тому

    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

  • @hereallyfast
    @hereallyfast Рік тому

    How about not mocking