SimpleCov Rcov Formatter gem
Is a Rcov style formatter for the ruby 1.9+ coverage gem: SimpleCov.
The target of this formatter is to cheat on Hudson so I can use the Ruby metrics plugin with SimpleCov.
So if you are looking some kind of workaround to integrate SimpleCov with your Hudson + Ruby metrics plugin this is a beginning.
Install
$ [sudo] gem install simplecov-rcov
Usage
require 'simplecov-rcov'
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
Or if you want to share this formatter with another formatter like HTML formatter you can add both:
require 'simplecov'
require 'simplecov-rcov'
class SimpleCov::Formatter::MergedFormatter
def format(result)
SimpleCov::Formatter::HTMLFormatter.new.format(result)
SimpleCov::Formatter::RcovFormatter.new.format(result)
end
end
SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
You can also add a flag support so if you don't run the tests activating the COVERAGE environment variable to on the coverage report won't be used:
if( ENV['COVERAGE'] == 'on' )
require 'simplecov'
require 'simplecov-rcov'
class SimpleCov::Formatter::MergedFormatter
def format(result)
SimpleCov::Formatter::HTMLFormatter.new.format(result)
SimpleCov::Formatter::RcovFormatter.new.format(result)
end
end
SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
SimpleCov.start 'rails' do
add_filter "/vendor/"
end
end
Run it using this:
$ COVERAGE=on rake test
ISSUES
To add the gem to the Gemfile try to do it this way:
gem 'simplecov', :require => false
gem 'simplecov-rcov', :require => false
And require the gems just before use the SimpleCov constant, like in the examples above.
If not could be Uninitialized constant SimpleCov issues.
TODO
The actual version generates only one simple /rcov/index.html file.
Credits
- Author: Fernando Guillen
- Contributors: Wes Morgan, Wandenberg Peixoto
- Copyright: Copyright (c) 2010 Fernando Guillen
- License: Released under the MIT license.