A simple Vim plugin to run specs: if the current file ends in
_test.rb, run it; if not, guess where the associated spec file is and run
that. It also includes a function for toggling between a test file and the
associated implementation file.
I recommend using Vundle and then you can
install the plugin by simply adding the following line to your
By default, the plugin will bind to
<Leader>t if it is not already mapped but
you can manually map to
<Plug>RunSpecRun like so:
map <Leader>r <Plug>RunSpecRun
You can override the automatic detection of the appropriate spec runner (e.g.
ruby) by having an executable
script/test that accepts a spec
file as an argument.
To toggle between having a test file open and the corresponding
implementation file, you can map a keybinding to
<Plug>RunSpecToggle, like so:
map <Leader>s <Plug>RunSpecToggle
In order to detect custom test runners accurately, the plugin requires that you are
using Bundler and have a valid
Gemfile.lock (so that it can work with
Gemfiles that only specify
If you are not using any gems (e.g. you are using only Ruby's built-in testing
libraries) then you should not be affected as the plugin will default to using
ruby as your test runner.
Thanks to William Roe for contributing the toggle functionality.
Copyright © 2015 Paul Mucur
Distributed under the MIT License.