Golang's Mocking Techniques - Kyle Yost | hatchpad Huddle

Sdílet
Vložit
  • čas přidán 28. 10. 2020
  • 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.

Komentáře • 19

  • @waffleboot
    @waffleboot Před 3 lety +28

    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 Před 4 měsíci

    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.

  • @hereallyfast
    @hereallyfast Před 4 měsíci

    The monkey patching thing is fire 🔥

  • @shub_zzz
    @shub_zzz Před 3 lety +5

    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 Před 3 lety +3

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

  • @SeanMacdonald_CodeMonk
    @SeanMacdonald_CodeMonk Před měsícem

    excellent talk. Excellent comments. Excellent points. Excellent wisdom

  • @stack.1
    @stack.1 Před měsícem

    2024 still super super helpful

  • @domemvs
    @domemvs Před 2 měsíci

    Invaluable video. Thank you

  • @Christo6020
    @Christo6020 Před 7 měsíci

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

  • @sumer9999
    @sumer9999 Před 2 lety +3

    A gem of a video

  • @ultiumlabs4899
    @ultiumlabs4899 Před 2 lety +3

    Kyle, it is really really helpful. Thank you.

  • @imsachinraut
    @imsachinraut Před 2 lety +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 Před 4 měsíci

    Just got what i really want to know

  • @hereallyfast
    @hereallyfast Před 4 měsíci

    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 Před 3 lety

    What IDE is he using when doing the demo? I usually just use Vim, but I'm considering my options. It's visible at czcams.com/video/LEnXBueFBzk/video.html

  • @hereallyfast
    @hereallyfast Před 4 měsíci

    How about not mocking