Richard Bucker

Testing MicroServices in Go

Posted at — Dec 22, 2014


Testing MicroServices in Go is no different that testing micro services in any language. Go does not offer any additional challenges. The hardest part is simply the testing. MicroServices are no different than the systems in a micro kernel. And as such they are hard to “prove”. Once you get past the unit testing you can use the same test framework for integration testing (which is the closest thing to test the service as you can get). 


The stdlib for testing is sufficient. Some of the 3rd party libs make some parts easier and in some cases they can coexist. But for all the effort sticking to the stdlib will avoid any conflict as it works just fine. There are bigger challenges depending on whether you’ve decided to mock the test attributes or if you’re going to perform actual transactions.

Docker, gitreceive, bash are easily integrated so that you do not need the complexity of Travis, Drone, TeamCity, Jenkins or any of those other CIs. The hardest part is the radiator.