Skip to content

jeffbean/gotests

 
 

Repository files navigation

gotests License godoc Build Status Coverage Status codebeat badge Go Report Card

gotests makes writing Go tests easy. It's a Golang 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.

Demo

The following shows gotests in action using the official Sublime Text 3 plugin. Plugins also exist for Emacs, also Emacs, Vim, Atom Editor, Visual Studio Code, and IntelliJ Goland.

demo

Installation

Minimum Go version: Go 1.6

Use go get to install and update:

$ go get -u github.com/cweill/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

Contributions

Contributing guidelines are in CONTRIBUTING.md.

License

gotests is released under the Apache 2.0 License.

About

Generate Go tests from your source code.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%