Programming language: Vim Script
License: MIT License
Tags: Editor Plugins    

gounit-vim alternatives and similar packages

Based on the "Editor Plugins" category.
Alternatively, view gounit-vim alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of gounit-vim or a related project?

Add another 'Editor Plugins' Package



Vim plugin for gounit tool that allows you to generate Go tests easily.




gounit-vim requires gounit to be available in your $PATH. Alternatively you can provide path to gounit using g:gounit_bin setting.

Plugin installation:

  • Pathogen git clone https://github.com/hexdigest/gounit-vim.git ~/.vim/bundle/gounit-vim
  • vim-plug Plug 'hexdigest/gounit-vim'
  • NeoBundle NeoBundle 'hexdigest/gounit-vim'
  • Vundle Plugin 'hexdigest/gounit-vim'
  • Vim packages (since Vim 7.4.1528) git clone https://github.com/hexdigest/gounit-vim.git ~/.vim/pack/plugins/start/gounit-vim
    You will also need to install all the necessary GoUnit binaries. It is easy to install by providing a command :GoUnitInstallBinaries, which will go get all the required binaries.


Call :GoUnit to generate test for the function declaration in the current line or all functions selected in visual mode. GoUnit also understands "range" parameters:

:5,10GoUnit     " genereate tests for functions from line 5 to line 10
:.,$GoUnit      " from the current line till the end of the file
:0,.GoUnit      " from the first line to the current line
:%GoUnit        " generate tests for the whole file

These commands generate tests using template that you set as a preferred with the :GoUnitTemplateUse <template> command. If you don't want to change your preferred template you can use all of the above commands followed by the name of the template, i.e. :GoUnit minimock If you have wildmenu option enabled you can pick desired template from the list of all registered templates with :GoUnit <TAB>.

Managing templates

There are few commands to manage your test templates:

:GoUnitTemplateAdd             " register contents of the current buffer as a new templates
:GoUnitTemplateAdd /file/name  " register /file/name as new template
:GoUnitTemplateDel template    " remove template
:GoUnitTemplateList            " display all registered test templates
:GoUnitTemplateUse template    " set template as preferred

Also you can create useful maps to use it with vim-go plugin for fast test generation.

" maps your leader key + gt to generate tests for the function under your cursor
nnoremap <leader>gt :normal vaf<cr>:GoUnit<cr>


If you want you can set path to your gounit binary if it's not in your path, for example:

let g:gounit_bin = '/home/user/go/bin/gounit'