
How I write Go HTTP services after 7 years - dnnrly
https://medium.com/statuscode/how-i-write-go-http-services-after-seven-years-37c208122831
======
stockkid
Very nice.

> By calling ServeHTTP on the server, we are testing the entire stack
> including routing and middleware, etc. You can of course call the handler
> methods directly if you want to avoid this

What is the trade-off between the two? Does it make the tests significantly
slower to test the entire stack rather than just a handler?

~~~
carc1n0gen
I usually do both. I like having unit tests that test individual function that
describe functionality. But I also like to have tests that ensure everything
works as intended ones you throw everything together.

~~~
stockkid
To be clear, you test individual functions handler uses, and to test the
handlers themselves, you opt to test the whole stack as described in the
article?

~~~
carc1n0gen
I test the whole stack to ensure things work as intended when all put
together. But I also write very isolated unit tests. I usually have them in
separate test suites so I can choose which ones to run

------
vonseel
Not part of the post but can't help and laugh at the company's marketing
snipped below. Buzz-worthy!

"What is this Machine Box that I keep hearing all this amazing stuff about?

Machine Learning in Docker containers for Kubernetes — implement some ML
today, without having to learn all that Tensorflow stuff."

------
vonseel
7 years is a long-time in Golangland.

