2012-07-26 13:38:17 -04:00
|
|
|
mutant
|
|
|
|
======
|
|
|
|
|
|
|
|
[![Build Status](https://secure.travis-ci.org/mbj/mutant.png?branch=master)](http://travis-ci.org/mbj/mutant)
|
|
|
|
[![Dependency Status](https://gemnasium.com/mbj/mutant.png)](https://gemnasium.com/mbj/mutant)
|
|
|
|
[![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/mbj/mutant)
|
|
|
|
|
2012-11-24 13:21:23 -05:00
|
|
|
Mutant is a mutation testing tool for ruby that aims to be better than existing mutation testers.
|
2012-07-26 13:38:17 -04:00
|
|
|
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.
|
|
|
|
|
2012-12-07 05:52:53 -05:00
|
|
|
Mutant does currently only support 1.9 mode under rubinius or mri.
|
2012-07-26 13:38:17 -04:00
|
|
|
|
|
|
|
Installation
|
|
|
|
------------
|
|
|
|
|
2012-12-07 05:52:53 -05:00
|
|
|
Install the gem ``mutant`` via your preferred method.
|
2012-07-26 13:38:17 -04:00
|
|
|
|
|
|
|
Examples
|
|
|
|
--------
|
|
|
|
|
2012-12-07 05:52:53 -05:00
|
|
|
```
|
|
|
|
cd your_lib
|
|
|
|
# Run mutant on virtus (that uses the dm-2 style spec layout)
|
|
|
|
mutant -I lib -r virtus --rspec-dm2 ::Virtus
|
|
|
|
```
|
|
|
|
|
2012-07-26 13:38:17 -04:00
|
|
|
Credits
|
|
|
|
-------
|
|
|
|
|
2012-12-07 05:54:13 -05:00
|
|
|
* A [gist](https://gist.github.com/1065789) from [dkubb](https://github.com/dkubb) showing ideas.
|
2012-12-07 05:55:04 -05:00
|
|
|
* Older abandoned [mutant](https://github.com/txus/mutant). For motivating me doing this one.
|
2012-12-07 05:54:13 -05:00
|
|
|
* [heckle](https://github.com/seattlerb/heckle). For getting me into mutation testing.
|
2012-07-26 13:38:17 -04:00
|
|
|
|
|
|
|
Contributing
|
|
|
|
-------------
|
|
|
|
|
|
|
|
* Fork the project.
|
|
|
|
* Make your feature addition or bug fix.
|
|
|
|
* Add tests for it. This is important so I don't break it in a
|
|
|
|
future version unintentionally.
|
|
|
|
* Commit, do not mess with Rakefile or version
|
|
|
|
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
|
|
|
* Send me a pull request. Bonus points for topic branches.
|
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
|
|
|
Copyright (c) 2012 Markus Schirp
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
a copy of this software and associated documentation files (the
|
|
|
|
"Software"), to deal in the Software without restriction, including
|
|
|
|
without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be
|
|
|
|
included in all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
|
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
|
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|