Add test script and some slight changes to vimrc
This commit is contained in:
parent
c4f4df0e97
commit
4b13d59c30
66
.vimrc
66
.vimrc
|
@ -1,5 +1,3 @@
|
|||
let mapleader=","
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" PLUGINS
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
@ -188,7 +186,7 @@ function! AlternateForCurrentFile()
|
|||
let new_file = current_file
|
||||
let in_spec = match(current_file, '^spec/') != -1
|
||||
let going_to_spec = !in_spec
|
||||
let in_app = match(current_file, '\<controllers\>') != -1 || match(current_file, '\<models\>') != -1 || match(current_file, '\<views\>') != -1
|
||||
let in_app = match(current_file, '\<controllers\>') != -1 || match(current_file, '\<models\>') != -1 || match(current_file, '\<views\>') != -1 || match(current_file, '\<helpers\>') != -1
|
||||
if going_to_spec
|
||||
if in_app
|
||||
let new_file = substitute(new_file, '^app/', '', '')
|
||||
|
@ -209,32 +207,11 @@ nnoremap <leader>. :call OpenTestAlternate()<cr>
|
|||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" RUNNING TESTS
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
function! RunTests(filename)
|
||||
" Write the file and run tests for the given filename
|
||||
:w
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
if match(a:filename, '\.feature$') != -1
|
||||
exec ":!script/features " . a:filename
|
||||
else
|
||||
if filereadable("script/test")
|
||||
exec ":!script/test " . a:filename
|
||||
elseif filereadable("Gemfile")
|
||||
exec ":!bundle exec rspec --color " . a:filename
|
||||
else
|
||||
exec ":!rspec --color " . a:filename
|
||||
end
|
||||
end
|
||||
endfunction
|
||||
|
||||
function! SetTestFile()
|
||||
" Set the spec file that tests will be run for.
|
||||
let t:grb_test_file=@%
|
||||
endfunction
|
||||
map <leader>t :call RunTestFile()<cr>
|
||||
map <leader>T :call RunNearestTest()<cr>
|
||||
map <leader>a :call RunTests('')<cr>
|
||||
map <leader>c :w\|:!script/features<cr>
|
||||
map <leader>w :w\|:!script/features --profile wip<cr>
|
||||
|
||||
function! RunTestFile(...)
|
||||
if a:0
|
||||
|
@ -258,8 +235,29 @@ function! RunNearestTest()
|
|||
call RunTestFile(":" . spec_line_number . " -b")
|
||||
endfunction
|
||||
|
||||
map <leader>t :call RunTestFile()<cr>
|
||||
map <leader>T :call RunNearestTest()<cr>
|
||||
map <leader>a :call RunTests('')<cr>
|
||||
map <leader>c :w\|:!script/features<cr>
|
||||
map <leader>w :w\|:!script/features --profile wip<cr>
|
||||
function! SetTestFile()
|
||||
" Set the spec file that tests will be run for.
|
||||
let t:grb_test_file=@%
|
||||
endfunction
|
||||
|
||||
function! RunTests(filename)
|
||||
" Write the file and run tests for the given filename
|
||||
:w
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
:silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
|
||||
if match(a:filename, '\.feature$') != -1
|
||||
exec ":!script/features " . a:filename
|
||||
else
|
||||
if filereadable("script/test")
|
||||
exec ":!script/test " . a:filename
|
||||
elseif filereadable("Gemfile")
|
||||
exec ":!bundle exec rspec --color " . a:filename
|
||||
else
|
||||
exec ":!rspec --color " . a:filename
|
||||
end
|
||||
end
|
||||
endfunction
|
||||
|
|
36
scripts/test.sh
Normal file
36
scripts/test.sh
Normal file
|
@ -0,0 +1,36 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# From Destroy All Software screencast #10, at:
|
||||
# http://destroyallsoftware.com/screencasts/catalog/fast-tests-with-and-without-rails
|
||||
#
|
||||
# Released under the MIT license: http://opensource.org/licenses/MIT
|
||||
#
|
||||
# Put this in the script/ directory of your Rails app, then run it with a spec
|
||||
# filename. If the spec uses spec_helper, it'll be run inside Bundler.
|
||||
# Otherwise, it'll be run directly with whatever `rspec` executable is on the
|
||||
# path.
|
||||
|
||||
set -e
|
||||
|
||||
need_rails=1
|
||||
|
||||
if [ $# -gt 0 ]; then # we have args
|
||||
filename=$1
|
||||
# Remove trailing line numbers from filename, e.g. spec/my_spec.rb:33
|
||||
grep_filename=`echo $1 | sed 's/:.*$//g'`
|
||||
|
||||
(set +e; grep -r '\bspec_helper\b' $grep_filename) > /dev/null
|
||||
if [ $? -eq 1 ]; then # no match; we have a stand-alone spec
|
||||
need_rails=''
|
||||
fi
|
||||
else # we have no args
|
||||
filename='spec'
|
||||
fi
|
||||
|
||||
command='rspec'
|
||||
|
||||
if [ $need_rails ]; then
|
||||
command="ruby -S bundle exec $command"
|
||||
fi
|
||||
|
||||
RAILS_ENV=test $command $filename
|
Loading…
Reference in New Issue
Block a user