## Tests Basic test run: ```shell go test ./... -v ``` Prettier output using `gotestsum`: ```shell go run gotest.tools/gotestsum@latest ``` ## Coverage Generate a coverage profile: ```shell go test -coverpkg=./... -coverprofile=cover.out ./... ``` View the data: ```shell go tool cover -func cover.out go tool cover -html cover.out ``` ## Benchmarks Run all benchmarks: ```shell go test ./tests -run='^$' -bench=. -benchmem ``` Examples only: ```shell go test ./tests -run='^$' -bench=Examples/ -benchmem ``` ## Profiling Generate a profile: ```shell go test ./tests -run='^$' -bench=Examples/ -benchmem -cpuprofile cpu.out -memprofile mem.out ``` View the data: ```shell go tool pprof --nodefraction=0.1 -http=:8080 ./cpu.out go tool pprof --nodefraction=0.1 -http=:8080 ./mem.out ```