Skip to content

rdeusser/gotests

Repository files navigation

gotests License godoc Build Status Go Report Card

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.

Installation

Minimum Go version: Go 1.11

Use go get to install and update:

$ go get -u github.com/rdeusser/gotests/...

Usage

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

License

gotests is released under the Apache 2.0 License.