Book Image

Advanced Solutions in Go - Testing and Distributed Systems [Video]

By : Aaron Torres
Book Image

Advanced Solutions in Go - Testing and Distributed Systems [Video]

By: Aaron Torres

Overview of this book

<p>Go (a.k.a. Golang) is a statically-typed programming language first developed at Google. It is derived from C with additional features such as garbage collection, type safety, dynamic-typing capabilities, additional built-in types, and a large standard library. This video takes off where basic tutorials on the language leave off. You can immediately put into practice some of the more advanced concepts and libraries offered by the language while avoiding some of the common mistakes for new Go developers. The video explores applications that interact with users, such as websites, command-line tools, or via the file system. It demonstrates how to handle advanced topics such as parallelism, distributed systems, and performance tuning. Lastly, it finishes with reactive and serverless programming in Go.</p> <h2>Style and Approach</h2> <p>This guide is a handy reference for developers to quickly look up Go development patterns. It is a companion to other resources and a reference that will be useful long after reading it through the first time. Each video includes working, simple, and tested code that can be used as a reference or foundation for your own applications.</p>
Table of Contents (6 chapters)
Chapter 1
Testing
Content Locked
Section 3
Using the mockgen Package
The previous video used our custom mock objects. When you're working with a lot of interfaces, writing these can become cumbersome and error prone. There's a package called gomock that provides a generation of mock objects and gives us a very useful library to use in conjunction with interface testing. - Download mock package - Create a directory named internal and run the mockgen command - Create interface.go, exec.go, interface_test.go and exec_test.go