🕷 software projects

by ryan davis



Unit Testing Sadism (via test mutation)

Heckle is unit test sadism(tm) at it’s core. Heckle is a mutation tester. It modifies your code and runs your tests to make sure they fail. The idea is that if code can be changed and your tests don’t notice, either that code isn’t being covered or it doesn’t do anything.

It’s like hiring a white-hat hacker to try to break into your server and making sure you detect it. You learn the most by trying to break things and watching the outcome in an act of unit test sadism.


  • Mutates booleans, numbers, strings, symbols, ranges, regexes and branches (if, while, unless, until)
  • Able to mutate entire classes or individual methods
  • Can not yet mutate class methods

Get The Code

If you just want to use heckle, you can install it via RubyGems:
gem install heckle
Fork me on GitHub If you want to hack on heckle, clone it from GitHub:
git clone git://github.com/seattlerb/heckle

Latest Activity