{"id":16912611,"url":"https://github.com/boyter/mutator","last_synced_at":"2025-07-20T11:31:46.384Z","repository":{"id":2169108,"uuid":"3115503","full_name":"boyter/Mutator","owner":"boyter","description":"Mutation tester which applies directly to source code.","archived":false,"fork":false,"pushed_at":"2016-02-04T06:58:02.000Z","size":2,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-22T23:06:12.404Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://searchco.de/blog/view/mutation-tester-for-all-languages","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boyter.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-01-06T03:51:38.000Z","updated_at":"2015-02-20T05:24:35.000Z","dependencies_parsed_at":"2022-07-21T11:29:13.916Z","dependency_job_id":null,"html_url":"https://github.com/boyter/Mutator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/boyter/Mutator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boyter%2FMutator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boyter%2FMutator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boyter%2FMutator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boyter%2FMutator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boyter","download_url":"https://codeload.github.com/boyter/Mutator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boyter%2FMutator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266117127,"owners_count":23879018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T19:10:39.068Z","updated_at":"2025-07-20T11:31:46.359Z","avatar_url":"https://github.com/boyter.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"As a fan of unit tests for bug checking and development (where applicable) I always have a doubt that even though \nmy tests pass they might not be written correctly. This is especially true where you write the tests after \ndevelopement rather then following TDD. \n\nRegardless you can still stress your code by doing some mutation testing. It's essentally a way of testing your \ntests. Quite a few mutation testing frameworks are out there such as Heckle, Insure++, Nester etc.. but I \nwas looking for one for my Python and PHP code that goes into making searchco.de \n\nUnable to find one that met my requirements (or worked at all) I wrote this version in 10 mins \nor so. Rather then fiddling with opcode (like the previously mentioned versions) it applys the changes \nto the source files themselves. Because of this you should sure what you have has a backup \nsomewhere before running it. I have tested it against a few languages (PHP, C#, JavaScript) \nand the results show my tests failing as expected so I am pretty happy with the outcome. \n\nUsage is pretty simple,\n\npython mutator.py DIRECTORY EXTENTION","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboyter%2Fmutator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboyter%2Fmutator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboyter%2Fmutator/lists"}