
Gocheck extends go's internal testing library with features such as:
- helpful error reporting to aid on figuring problems out
- richer test helpers: assertions which interrupt the test immediately,
deep multi-type comparisons, string matching, etc
- suite-based grouping of tests
- fixtures: per suite and/or per test set up and tear down
- benchmarks integrated in the suite logic (with fixtures, etc)
- management of temporary directories
- panic-catching logic, with proper error reporting
- proper counting of successes, failures, panics, missed tests, skips, etc
- explicit test skipping
- support for expected failures
- verbosity flag which disables output caching (helpful to debug
hanging tests, for instance)
- multi-line string reporting for more comprehensible failures
- inclusion of comments surrounding checks on failure reports
- fully tested (it manages to test itself reliably)