57 lines
804 B
Markdown

## 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
```