Skip to Content
Hands-On Microservices with Kubernetes
book

Hands-On Microservices with Kubernetes

by Gigi Sayfan
July 2019
Intermediate to advanced
502 pages
14h
English
Packt Publishing
Content preview from Hands-On Microservices with Kubernetes

The art of mocking

Ideally, an object should have all its dependencies injected when it is created. Let's look at the NewLinkManager() function:

func NewLinkManager(linkStore LinkStore,     socialGraphManager om.SocialGraphManager,     natsUrl string,     eventSink om.LinkManagerEvents,     maxLinksPerUser int64) (om.LinkManager, error) {     ... }

This is almost the ideal situation. We get interfaces to the link store, social graph manager, and to the event sink. However, there are two dependencies that are not injected here: link_checker_events and the built-in net/http package. Let's start with mocking the link store, the social graph manager, and the link manager event sink, and then consider the more difficult cases.

LinkStore is an interface that's defined ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Kubernetes Microservices

Kubernetes Microservices

Richard Chesterwood
Cloud Native DevOps with Kubernetes

Cloud Native DevOps with Kubernetes

John Arundel, Justin Domingus
Microservices: Up and Running

Microservices: Up and Running

Ronnie Mitra, Irakli Nadareishvili

Publisher Resources

ISBN: 9781789805468Supplemental Content