Working with Generics
The previous chapters have covered all the aspects of testing and code design, gradually increasing in complexity. These tests will allow us to verify the behavior of a wide variety of applications, including microservices architectures and services that persist data to a database service. We have all the knowledge to perform the functional and non-functional testing of a variety of systems.
We have also discussed how systems need to change and evolve, as engineering organizations grow and new functionality is added. In Chapter 9, Challenges of Testing Concurrent Code, we discussed how to make the most of computing resources by making use of Go’s concurrency mechanisms, enabling us to serve production traffic. In Chapter 10, Testing Edge Cases, we explored two testing techniques to cover system edge cases, including Go’s fuzz testing capabilities.
Go’s 1.18 release introduced support for generics, alongside adding fuzz testing to the...