New Releases Lead to Better Ruby Testing

by Pat Eyler

The last week or so has seen new releases of two of my favorite additions to testing (or speccing if you're of the BDD persuasion) in the Ruby world. zenspider and Kevin Clark have released a new version of Heckle on the 20th, and Mauricio Fernandez released a new version of rcov this morning (the 21st).

heckle is a tool that 'tests your tests', walking the AST that Ruby executes for the code under test and transforming (or mutating) it to ensure that your tests still fail if an if is changed to an unless, or if inputs to methods being tested are changed. It provides an informal measure of branch coverage for your test suite. This release features better readability (through unified diff output of failing mutated tests and simple reporting at the end of heckle runs. Kevin tells me they're working on HTML report generation as well, which I think will be a great addition.

rcov is a more traditional tool, it measures line coverage of your test suite. This release includes: an annotation mode (--annotate), which reprints the original source with coverage annotations; enhanced emacs support (including jumping to uncovered code); and a number of bugfixes including a segfault when running under rspec.

It's been a good week for Ruby testers. Hopefully March will continue the trend.