Go unit testing essentials

Real world testing patterns and workarounds