This is a fork of cweill's version of gotests to fix some issues and add my own flavor.
gotests
makes writing Go tests easy. It's a Go commandline tool that generates table driven tests based on its target source files' function and method signatures. Any new dependencies in the test files are automatically imported.
Minimum Go version: Go 1.11
Use go get
to install and update:
$ go get -u github.com/rdeusser/gotests/...
From the commandline, gotests
can generate Go tests for specific source files or an entire directory. By default, it prints its output to stdout
.
$ gotests [options] PATH ...
Available options:
-all generate go tests for all functions and methods
-excl regexp. generate go tests for functions and methods that don't
match. Takes precedence over -only, -exported, and -all
-exported generate go tests for exported functions and methods. Takes
precedence over -only and -all
-i print test inputs in error messages
-only regexp. generate go tests for functions and methods that match only.
Takes precedence over -all
-w write output to (test) files instead of stdout
-nosubtests disable subtest generation. Only available for Go 1.7+
-template_dir optional. Path to a directory containing custom test code templates
gotests
is released under the Apache 2.0 License.