A Vim plugin to run specs for the current file.
Ruby VimL
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
autoload
doc
plugin
spec
.rspec
.travis.yml
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile

README.md

runspec.vim Build Status

A simple Vim plugin to run specs: if the current file ends in _spec.rb or _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.

The plugin will attempt to automatically discover whether you are using RSpec or minitest/spec and use Bundler (and binstubs) if appropriate.

Installation

I recommend using Vundle and then you can install the plugin by simply adding the following line to your .vimrc:

Bundle 'mudge/runspec.vim'

Usage

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. rspec or 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

Dependencies

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 gemspec).

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.

Contributions

Thanks to William Roe for contributing the toggle functionality.

License

Copyright © 2015 Paul Mucur

Distributed under the MIT License.