Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alex-parra/gotestiful

gotestiful - gotest + beautiful
https://github.com/alex-parra/gotestiful

coverage go test

Last synced: 3 days ago
JSON representation

gotestiful - gotest + beautiful

Awesome Lists containing this project

README

        

# gotestiful

> gotest + beatiful

`gotestiful` is a go terminal program that wraps 'go test' to streamline tests running and config and also improves the coverage presentation output.

## Quick start

1. run `go install github.com/alex-parra/gotestiful@latest`
2. run `gotestiful` from the root of any go project (where go.mod is)

---

Comparison of `go test` and `gotestiful` on [kubernetes/client-go](https://github.com/kubernetes/client-go)

![kubernetes-client-go](https://drive.google.com/uc?export=view&id=1ZIFj6loyNTGxEUKVWwlE6sslh5CIgdd5)

## Examples

- `gotestiful` runs tests for the current folder eg. `go test ./...`
- `gotestiful -help` shows examples and flags infos
- `gotesttiful some/pkg` runs only that package eg. `go test some/pkg`
- `gotestiful -cache=false` runs tests without cache eg. `go test -count=1 ...`
- `gotestiful init` creates a base configuration in the current folder
(the config file is optional. you may opt to use flags only)
- ... see `gotestiful -help` for all flags

## Features:

- **config file per project**
run `gotestiful init` from your project root to create a `.gotestiful` config file and then adjust the settings.
afterwards you only need to run `gotestiful` and the config is read

- **exclusion list**
add packages (or just prefixes) to the config `exclude` array to not test those packages.
example: exclude generated code such as protobuf packages

- **global coverage summary**
shows the overall code coverage calculated from the coverage score of each tested package.

- **open html coverage detail report**
set the `-report` flag and the coverage html detail will open (eg. `go tool cover -html`)

## Contributors



Made with [contributors-img](https://contrib.rocks).