> We named the package hello_test instead of hello. This is possible and it allows for writing tests that use only the public API (identifiers starting with a capital letter) of the tested package as a real user would.
Would be good to highlight here that *_test packages are the sole exception from Go's standard rule of one-package-only per source directory -- special cases being always an unfortunate additional heightening of the beginner's learning curve.
What people usually do is add a build tag to the file(s) with package main, so they're not compiled on a regular compile/test run. But you can't combine them as such (and you can do this with any package name – there's nothing special about the main package here).
I really like this style of showing steps that would be logical for those new to Go even if they're wrong then showing why it didn't work and walking through the fix. Nice linear progression of real-world learning.
> We named the package hello_test instead of hello. This is possible and it allows for writing tests that use only the public API (identifiers starting with a capital letter) of the tested package as a real user would.
Would be good to highlight here that *_test packages are the sole exception from Go's standard rule of one-package-only per source directory -- special cases being always an unfortunate additional heightening of the beginner's learning curve.
Thanks, done: https://github.com/go-monk/from-bash-to-go-part-ii/commit/16...
You can also include
package main
files in a non-main package directory (usually sed when implementing go generate)
What people usually do is add a build tag to the file(s) with package main, so they're not compiled on a regular compile/test run. But you can't combine them as such (and you can do this with any package name – there's nothing special about the main package here).
I really like this style of showing steps that would be logical for those new to Go even if they're wrong then showing why it didn't work and walking through the fix. Nice linear progression of real-world learning.
Nice! You packed in so many things which are often drip fed, and take folk a while to find
Kudos