mutant
mutant copied to clipboard
Automated code reviews via mutation testing - semantic code coverage.
I recently had a neutral failure due to an `unparser` bug (https://github.com/mbj/unparser/issues/311) `mutant` spat out a ton of output that made it harder to see what actually went wrong. It...
Sorbet declares unreachable `else`-clauses using a call to `T.absurd`. This is necessary for sorbet to actually verify all possible types or values have been already checked. We need to be...
These are equivalent: ```ruby '222-333-4444'.tr_s('^0-9', '') # => "2223334444" '222-333-4444'.delete('^0-9') # => "2223334444" ``` Could probably also do that for `String#tr`. Honestly, I don't know the difference between `tr` and...
Per discussion on discord [starting here](https://discord.com/channels/767914934016802818/767915301874040844/788908067014049862): It would be nice if `mutant` could be used as an `rspec` runner since it already has the mechanisms to reliably run test suits...
The generic mutator may take out the numblock lvars, which would turn the node into a not numblock anymore. The solution will require to scan the generated node for numblock...
When mutant fails because of a timeout violation it would be nice to have it more prominent. Especially when that failure results in a noop. I had some failures that...
People usually do not want this: ``` [nil].one? # false ``` And if they want it they should provide evidence, in form of a test.
The `Enumerable#to_set` method can accept a block like `Enumerable#map` and it will return a `Set` containing unique entries. If the return value of `#map` (a) Doesn't need to include duplicates...