{"repo":"mbj/mutant","free":true,"listed":false,"github":"https://github.com/mbj/mutant","clone":"git clone https://github.com/mbj/mutant.git","description":"Mutation testing for Ruby. AI writes your code. AI writes your tests. But who tests the tests?","language":"Ruby","stars":2181,"topics":["mutation-testing","ruby","coverage","rspec","minitest","code-review","code-quality-analyzer","mutant","static-analysis","dynamic-analysis"],"license":null,"category":"dev-tools","readme_excerpt":"mutant ====== What is Mutant? AI writes your code. AI writes your tests. But who tests the tests? Copilot, Claude, and ChatGPT generate code faster than humans can review it. They'll even write tests that pass. But passing tests aren't the same as meaningful tests. Mutant is mutation testing for Ruby. It systematically modifies your code and verifies your tests actually catch each change. The more code AI writes for you, the more you need verification you can trust. What is an Alive Mutation? Each surviving (alive) mutation is a call to action with exactly one of two options: - Keep the mutated code - your tests already specify the correct semantics, and the original code is redundant. Accept the mutation as a simplification. - Add the missing test - the original code is correct, but the tests don't verify the behavior the mutation removed. Author Mutant was created and is developed by Markus Schirp. It is the subject of IEEE-published research and is included in the Trail of Bits Ruby Security Field Guide. Quick Start Tests pass. But run mutant: Mutant finds a surviving mutation indicating a shallow test: Your tests don't cover age == 18 . The mutation from = to doesn't break them. This is just one of many mutation operators. Mutant also mutates arithmetic, logical, bitwise operators, removes statements, modifies return values, and more. A full working example is available in the quick start directory. Session History Mutant records every run to .mutant/results/ . You can re","default_branch":null,"files":null,"tree":[],"storefront":"/r/mbj","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mbj/mutant/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}