Skip to content

Commit

Permalink
Merge pull request #20 from bsimpson/master
Browse files Browse the repository at this point in the history
Update documentation to include better formatting and examples for test preloaders
  • Loading branch information
Jan committed May 23, 2014
2 parents a4b41db + ec598b0 commit f6e91d3
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 73 deletions.
73 changes: 0 additions & 73 deletions README

This file was deleted.

85 changes: 85 additions & 0 deletions README.md
@@ -0,0 +1,85 @@
Rubytest.vim
============

Rubytest.vim is a vim (http://www.vim.org) plugin, which helps you to run ruby test (including vanilla test, rspec, shoulda etc.) in vim.

Installation
------------

Copy all files to your ~/.vim directory.

Usage
-----

After installation, press `<Leader>t` will run the test under your cursor if you are editing a ruby test file.

Example:

```
$ cd <your rails/merb root>
$ vim test/unit/user_test.rb
```
(move cursor into a test case, press `<Leader>t`)

(`<Leader>` is mapping to '\' by default in vim)

Be default, the plugin will print output in terminal. You can change this behavior by putting this line in your vimrc file:

let g:rubytest_in_quickfix = 1

With this set, test errors will be displayed in quickfix window, and you can jump to the error location quickly by select the error message and hit return (or `Ctrl-w return` to open it in new window).

You can customize the command which will be used to run the test case by setting these options in your vimrc file:

let g:rubytest_cmd_test = "ruby %p"
let g:rubytest_cmd_testcase = "ruby %p -n '/%c/'"
let g:rubytest_cmd_spec = "spec -f specdoc %p"
let g:rubytest_cmd_example = "spec -f specdoc %p -e '%c'"
let g:rubytest_cmd_feature = "cucumber %p"
let g:rubytest_cmd_story = "cucumber %p -n '%c'"

### Using [Spork](https://github.com/sporkrb/spork)

let g:rubytest_cmd_test = "bundle exec testdrb %p"
let g:rubytest_cmd_testcase = "bundle exec testdrb %p -- -n '/%c/'"

### Using [Spring](https://github.com/rails/spring)

let g:rubytest_cmd_test = "bundle exec spring testunit %p"
let g:rubytest_cmd_testcase = "bundle exec spring testunit %p -n '/%c/'"

Placeholders:

* `%p`: path of test file
* `%c`: test case name
* `%s`: only for minitest, replaced by closest suite name (class whose name begin with 'Test'). This can be used to match test case more exactly:

let g:rubytest_cmd_testcase = "ruby %p -n '%s#%c'"

Default Key Bindings
--------------------

* `<Leader>t`: run test case under cursor
* `<Leader>T`: run all tests in file
* `<Leader>l`: run the last test, from any buffer

You can change default key bindings:

map <Leader>\ <Plug>RubyTestRun " change from <Leader>t to <Leader>\
map <Leader>] <Plug>RubyFileRun " change from <Leader>T to <Leader>]
map <Leader>/ <Plug>RubyTestRunLast " change from <Leader>l to <Leader>/

Tip
---

* Rubytest.vim works perfectly with vim-localvimrc, which enables you to set different test run command for different projects. Check details at: https://github.com/embear/vim-localvimrc

Contributors
------------

* Bogdan Gusiev
* Yung Hwa Kwon (nowk)
* J. Weir
* Ben Simpson (bsimpson)
* Alexander Belyaev (alexbel)
* Ivan Tkalin (ivalkeen)

0 comments on commit f6e91d3

Please sign in to comment.