- Implement more sophisticated test filtering, which works well with targeted tests (e.g., "List#empty should have size 0") and with generic tests (e.g., "Users should be able to log out").
- Capture more forms of stillborn mutant, including those arising from instances of
ScriptError
. - Fix bug in which mutation would be repeated if there was more than one subject in a single source file.
- Fix bugs in mutations of hash literals and array literals.
## v0.2.8 (22 February 2016)
- Prevent insertion operators from incorrectly mutating private and protected keywords.
- Fix bugs in mutating overlapping ASTs (by upgrading to metamorpher v0.2.5).
## v0.2.7 (22 February 2016)
- Fix bug whereby analysis was incorrectly reusing test results for all previous mutants when evaluating current mutant.
- A mutant's position now carries information about the affected range in the subject, as well as in the mutated code.
- Fix bug in the --cached switch of the score command, which was preventing mutants being correctly loaded from disk on Linux.
- Fix bug in the --cached switch of the score command, which was causing mutiny to report the incorrect path to subject files.
- Improve extensibility by supporting different implementations of the analyser. This has removed the need to have test selection as an extension point (for now).
- Add --cached switch to the score command, which loads mutants from disk rather than generating them anew.
- Various changes to improve extensibility (i.e., mutant storage, test selection) and capabilities (i.e., mutant location and test hooks).
- Add mutation name to each mutant written to disk
- Update to Ruby 2.2.3
- Add rudimentary support for stillborn mutants
- Better error reporting during mutant generation
- Reduce chance that irrelevant subjects are selected for mutation
- Fix #1 - "Uninitialized constant" exception for all commands
- Implement
mutiny score
mode which performs mutation analysis
Provide support for:
- Running mutation testing commands via the
mutiny
binary - Checking that a program is amenable to mutation testing
- Generating mutants using traditional method-level operators
- Integration with RSpec 3