3 ms·
> 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 c
by everybodyknows 1y ago
> 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.
- ttz 1y agoYou can also include package main files in a non-main package directory (usually sed when implementing go generate)
- arp242 1y agoWhat 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).
- ttz 1y agoYep - my point was that _test is not the only exception to the "rule"
- reisinge 1y agoThanks, done: https://github.com/go-monk/from-bash-to-go-part-ii/commit/167250b15242b0efdf5728b4d7caef15aee77ee4 https://github.com/go-monk/from-bash-to-go-part-ii/commit/16...