Lookout-Rake
Lookout-Rake provides Rake¹ tasks for testing using Lookout.
¹ See http://rake.rubyforge.org/
§ Installation
Install Lookout-Rake with
% gem install lookout-rake
§ Usage
Include the following code in your ā¹Rakefileāŗ:
require 'lookout-rake-3.0'
Lookout::Rake::Tasks::Test.new
If the ā¹:defaultāŗ task hasnāt been defined itāll be set to depend on the
ā¹:testāŗ task. The ā¹:checkāŗ task will also depend on the ā¹:testāŗ task.
Thereās also a ā¹:test:coverageāŗ task that gets defined that uses the
coverage library that comes with Ruby 1.9 to check the test coverage when
the tests are run.
You can hook up your test task to use your Inventory¹:
load File.expand_path('../lib/library-X.0/version.rb', __FILE__)
Lookout::Rake::Tasks::Test.new :inventory => Library::Version
Also, if you use the tasks that come with Inventory-Rake², the test task
will hook into the inventory you tell them to use automatically, that is,
the following will do:
load File.expand_path('../lib/library-X.0/version.rb', __FILE__)
Inventory::Rake::Tasks.define Library::Version
Lookout::Rake::Tasks::Test.new
For further usage information, see the {API documentation}³.
¹ Inventory: http://disu.se/software/inventory/
² Inventory-Rake: http://disu.se/software/inventory-rake/
³ API: http://disu.se/software/lookout-rake/api/Lookout/Rake/Tasks/Test/
§ Integration
To use Lookout together with Vim¹, place ā¹contrib/rakelookout.vimāŗ in
ā¹~/.vim/compilerāŗ and add
compiler rakelookout
to ā¹~/.vim/after/ftplugin/ruby.vimāŗ. Executing ā¹:makeāŗ from inside Vim
will now run your tests and an errors and failures can be visited with
ā¹:cnextāŗ. Execute ā¹:help quickfixāŗ for additional information.
Another useful addition to your ā¹~/.vim/after/ftplugin/ruby.vimāŗ file may
be
nnoremap <buffer> <silent> <Leader>M <Esc>:call <SID>run_test()<CR>
let b:undo_ftplugin .= ' | nunmap <buffer> <Leader>M'
function! s:run_test()
let test = expand('%')
let line = 'LINE=' . line('.')
if test =~ '^lib/'
let test = substitute(test, '^lib/', 'test/', '')
let line = ""
endif
execute 'make' 'TEST=' . shellescape(test) line
endfunction
Now, pressing ā¹<Leader>Māŗ will either run all tests for a given class, if
the implementation file is active, or run the test at or just before the
cursor, if the test file is active. This is useful if youāre currently
receiving a lot of errors and/or failures and want to focus on those
associated with a specific class or on a specific test.
¹ Find out more about Vim at http://www.vim.org/
§ Financing
Currently, most of my time is spent at my day job and in my rather busy
private life. Please motivate me to spend time on this piece of software
by donating some of your money to this project. Yeah, I realize that
requesting money to develop software is a bit, well, capitalistic of me.
But please realize that I live in a capitalistic society and I need money
to have other people give me the things that I need to continue living
under the rules of said society. So, if you feel that this piece of
software has helped you out enough to warrant a reward, please PayPal a
donation to [email protected]¹. Thanks! Your support wonāt go unnoticed!
¹ Send a donation:
https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=now%40disu%2ese&item_name=Nikolai%20Weibull%20Software%20Services
§ Reporting Bugs
Please report any bugs that you encounter to the {issue tracker}¹.
¹ See https://github.com/now/lookout-rake/issues
§ Authors
Nikolai Weibull wrote the code, the tests, the manual pages, and this
README.