{"id":19561838,"url":"https://github.com/valantic/mutation-tester","last_synced_at":"2025-07-02T12:35:05.431Z","repository":{"id":43657442,"uuid":"446332469","full_name":"valantic/mutation-tester","owner":"valantic","description":"IntelliJ Plugin for Mutation Testing with pitest","archived":false,"fork":false,"pushed_at":"2025-03-25T10:38:17.000Z","size":2558,"stargazers_count":9,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-27T00:31:56.542Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valantic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-01-10T08:08:50.000Z","updated_at":"2025-03-25T10:38:21.000Z","dependencies_parsed_at":"2024-11-11T05:12:52.226Z","dependency_job_id":"9e5df86b-a9bd-46d1-b9ff-5630d4e50ec0","html_url":"https://github.com/valantic/mutation-tester","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/valantic/mutation-tester","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valantic%2Fmutation-tester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valantic%2Fmutation-tester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valantic%2Fmutation-tester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valantic%2Fmutation-tester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valantic","download_url":"https://codeload.github.com/valantic/mutation-tester/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valantic%2Fmutation-tester/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263141118,"owners_count":23420006,"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-11-11T05:12:41.104Z","updated_at":"2025-07-02T12:35:05.394Z","avatar_url":"https://github.com/valantic.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PIT Mutation Tester\nThis Plugin enables mutation testing in your IDE based on \u003ca href=\"https://pitest.org\"\u003epitest.org\u003c/a\u003e.\n\n[![Software License](https://img.shields.io/badge/license-Apache%202-green.svg?style=flat-square)](LICENSE.md)\n[![MutationReport](https://img.shields.io/badge/line%20coverage-96%25-green96.svg?style=flat-square)](https://htmlpreview.github.io/?https://github.com/valantic/mutation-tester/blob/main/samples/pitreport/index.html)\n[![MutationReport](https://img.shields.io/badge/mutation%20coverage-90%25-green90.svg?style=flat-square)](https://htmlpreview.github.io/?https://github.com/valantic/mutation-tester/blob/main/samples/pitreport/index.html)\n[![MutationReport](https://img.shields.io/badge/test%20strength-94%25-green94.svg?style=flat-square)](https://htmlpreview.github.io/?https://github.com/valantic/mutation-tester/blob/main/samples/pitreport/index.html)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=pit-mutation-tester\u0026metric=ncloc)](https://sonarcloud.io/summary/new_code?id=pit-mutation-tester)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=pit-mutation-tester\u0026metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=pit-mutation-tester)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=pit-mutation-tester\u0026metric=bugs)](https://sonarcloud.io/summary/new_code?id=pit-mutation-tester)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=pit-mutation-tester\u0026metric=code_smells)](https://sonarcloud.io/summary/new_code?id=pit-mutation-tester)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=pit-mutation-tester\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=pit-mutation-tester)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=pit-mutation-tester\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=pit-mutation-tester)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=pit-mutation-tester\u0026metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=pit-mutation-tester)\n\nThis package is developed by [valantic CEC Schweiz](https://www.valantic.com/).\n\n### IntelliJ Marketplace\nUpdated 2025-02: Since IntelliJ marketplace updated some publishing restrictions for plugins, the old plugin id could not be used anymore. Therefore I had to rename the plugin and publish it as different plugin.\n\nYou can download it here: https://plugins.jetbrains.com/plugin/26911-pit-mutation-tester\n\n## About\nMutation Testing is also called Fault-based testing strategy as it involves creating a fault in the program and it is a type of White Box Testing which is mainly used for Unit Testing.\nWhen the application code changes, it should produce different results and cause the unit tests to fail. If a unit test does not fail in this situation, it may indicate an issue with the test suite.\n\nThis kind of testing helps you to produce better testing results, not only based on line coverage but also on mutation coverage. If less of your code can mutate, you can be sure to have a higher code quality.\n\nThis Plugin will help you as developer to run mutation tests easy and fast in your IDE without wasting time in configurations.\n\nFor example is a full Pit Mutation Testing report of this plugin \u003ca href=\"https://htmlpreview.github.io/?https://github.com/valantic/mutation-tester/blob/main/samples/pitreport/index.html\"\u003ehere\u003c/a\u003e\n\n#### Versions\n| Tool          | Supported / Used Version |\n|---------------|--------------------------|\n| IntelliJ Idea | 2021.2 - now             |\n\n\n## Installation\nYou can download the plugin from our [github](https://github.com/valantic/mutation-tester).\nNext open your IntelliJ and install the plugin from disk, as seen below.\nIt is recommended to restart your IDE.\n![](./samples/screenshots/install-disk.png)\n\n## Run the plugin\nYou can simply create a new RunConfigurations with mutator\n![](./samples/screenshots/create-configuration.png)\n\nThis Plugin will save you a lot of time. You don't need to create everytime new configurations by hand to test your new unit test.\nWith this tool you can automatically create configuration for your given test, as seen below by just executing the test in the run context of the unit test.\n\n![](./samples/screenshots/run-in-class.png)\n\n![](./samples/screenshots/right-click-in-class.png)\n\nYou can also select packages in your test directory and test all classes in this package with all the tests in same named package.\n\n![](./samples/screenshots/run-context-menu.png)\n\nIf you still need to adjust the configuration you can do this easily. Each run will create a RunConfiguration you can simply modify.\n\n![](./samples/screenshots/run-as.png)\n\n\n## Configuration\nIf you need to adjust the defualt configuration, you can just go into your RunConfiguration and adjust the default settings.\n\n![](./samples/screenshots/settings-1.png)\n\n![](./samples/screenshots/settings-2.png)\n\nIn the tab settings the values of targetTests, targetClasses, reportDir, sourceDirs and mutators can not be empty. Otherwise the tests will not run. in the advanced tab you can easily modify default behaviour.\n\n![](./samples/screenshots/advanced-settings.png)\n\n\nYou can get more informations about the configuration fields [here](https://pitest.org/quickstart/commandline/).\n\n## Limitations\nThis Plugin has a few limitation, we might (if needed) will fix in the near future.\n\n```\nautomaticly determine name of to be testet Class\n\nWhen executing the plugin from the context-menu oder inside a class, the targetTest and targetClass\nwill be set automaticly. This is handled by default naming conventions. For example, you test the\nClass \"SampleService\" with the test \"SampleServiceTest\", there will no problem setting these values\nautomaticly. The plugin will you the targetTest \"SampleServiceTest\" and remove the suffix \"Test\",\nand will check if the rest of the string \"SampleService\" is a valid class.\nIf it doesn't, the targetTestClass will be set by the package the test class \"SampleServiceTest\" is in.\nYou can always update the correct names by hand. If you might have different namingConventions relating\nthe application and testclass let us know, so we can add it to the automated process.\n```\n\n## Copyright and Licensing Information\nSee [LICENSE.md](LICENSE.md) for the complete License.\n\nCopyright [2022] [valantic CEC Schweiz AG]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n```\nhttp://www.apache.org/licenses/LICENSE-2.0\n```\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n## Contact Information\nFor any issue with plugin please use our \u003ca href=\"https://github.com/valantic/mutation-tester/issues\"\u003eissueboard on github\u003c/a\u003e.\n\nFor any information about our company go to \u003ca href=\"https://valantic.com\"\u003evalantic.com\u003c/a\u003e.\n\n\n## Credit and Acknowledgments\nThis Plugin is based on the commandline tools from \u003ca href=\"https://pitest.org/\"\u003epitest.org\u003c/a\u003e.\nSo special credits go out to henry@pitest.org for developing such an amazing tool.\n\nAlso the Icon (mutation.png) is based on an icon from flaticon by Freepik.\n\u003ca href=\"https://www.flaticon.com/de/kostenlose-icons/gen\" title=\"gen Icons\"\u003eGen Icons erstellt von Freepik - Flaticon\u003c/a\u003e\n\n## Change Notes\n- \u003cb\u003e2.0.0\u003c/b\u003e - 2025-03: Updated Pitest to 1.18.0 as default version. Upgraded the plugin to fit new intellij standards (had to rename plugin). Enabled configuration to set custom pitest version. Fixed Junit5 support. Fixed since-build property. Fixed excludedTestClasses property.\n- \u003cb\u003e1.4.1\u003c/b\u003e - 2023-08: Added Junit5 Support. Updated Pitest to 1.14.2. Modified pitest-junit5 dependency to resolve compatibility issue with intellij marketplace. Fixed NullPointerException in ClassPathService.\n- \u003cb\u003e1.4.0\u003c/b\u003e - 2023-06: Added Junit5 Support. Updated Pitest to 1.14.1. Updated min. supported IDE version to 2021.2. Updated Tests from Junit4 to Junit5.\n- \u003cb\u003e1.3.0\u003c/b\u003e - 2023-05: Adjusted the command line tool to use a generated classpath file to support all OS. Fixed Issue with configuration template. Fixed issue with command line wrapper. Fixed issue with problems of multiple IDE windows. Updated pitest version to 1.13.0\n- \u003cb\u003e1.2.1\u003c/b\u003e - 2023-05: Removed tabs icon in the Running configuration screen that prevent the edit configuration in recent versions of Intellij IDEA. Capitalize context menu entries.\n- \u003cb\u003e1.2.0\u003c/b\u003e - 2022-12: Commandline fixed for windows. Updated pitest version to 1.10.0. Updated test reports. corrected classpath for missing jar.\n- \u003cb\u003e1.1.1\u003c/b\u003e - 2022-08: Fixed issue https://github.com/valantic/mutation-tester/issues/7\n- \u003cb\u003e1.1.0\u003c/b\u003e - 2022-07: Enables untilBuild to the newest. Enabled Support for IntelliJ IDE since 2020.3.4\n- \u003cb\u003e1.0.0\u003c/b\u003e - 2022-07: Updated Unittests. Enabled Upload to Marketplace. Fixed Bug with NoModuleDefinied Error.\n- \u003cb\u003eend of beta\u003c/b\u003e\n- \u003cb\u003e0.1.3\u003c/b\u003e - 2022-06: Enabled support for 2022.1. Include libs into jar for NoClassDefException. Updated Pitest to 1.9.0. Updated info.solidsoft.pitest to 1.7.4. Updated org.jetbrains.intellij to 1.6.0. Fixed Bug with JacocoTestReports\n- \u003cb\u003e0.1.2\u003c/b\u003e - 2022-02: Setting up Sonarcube and refactoring classes\n- \u003cb\u003e0.1.1\u003c/b\u003e - 2022-02: Raised Testcoverage. Fixed issue with missing module on run configuration\n- \u003cb\u003e0.1.0\u003c/b\u003e - 2022-02: Published Beta Version with primary focused on SAP Commerce\n\n\n## Known Issues\n- No custom classpath entries / file\n- Custom pitest-junit5 dependency jar\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalantic%2Fmutation-tester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalantic%2Fmutation-tester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalantic%2Fmutation-tester/lists"}