Version 0.8.0 of the rcov code coverage tool for Ruby introduces new
output modes and superior emacs integration. It also fixes a nasty bug in the rcovrt extension. If you have been getting
segfaults or bus errors when using rcov with RSpec, give 0.8.0 a try.
If you are new to rcov, take a look at
this sample report.
In addition to indicating which code has been covered by your tests, rcov
allows you to navigate through your code easily. rcov records where each
method was called from and can generate fully cross-referenced reports,
letting you inspect the control flow. This is most useful when you're trying
to understand the overall organization of third-party code or you're refactoring.
Download
You can get it from rcov: code coverage for Ruby, or install it via RubyGems with
gem install rcov
(if you get an older version/a 404 error, just wait for a while until the gem
propagates to rubyforge's mirrors)
Change summary (since 0.7.0)
Features
- --annotate mode, which dumps annotated source code which can be used to follow the control flow (very useful when reading third-party code)
- --gcc option to display uncovered lines in GCC error format
- superior Emacs support: running rcov, jumping to uncovered code, navigate through cross-referenced annotated code
- --[no-]validator-links
Bugfixes
- differential code coverage reports work with filenames containing special characters
- fixed recent segfaults happening with rspec
- more careful name mangling
Minor enhancements
- relevant summary values are identified using separate CSS classes (microformat-style)
Thanks
rubikitch
- implemented --annotate mode
- implemented --gcc option
- superior emacs support
- testing, refactoring...
- many other things, see darcs changes
Zed A. Shaw
- reported and fixed segfault triggered by rspec
Jan Svitok
- reported typo in rcovtask.rb's RDoc
Thomas Leitner
- fixed the bug which broke differential reports for filenames with special characters
Read more...
Read: rcov 0.8.0 (Ruby code coverage): new output modes, fix for RSpec woes, superior emacs integration