mutation-test-runner

通过引入微小代码变更并执行测试,检测测试套件对缺陷的捕获能力,评估测试有效性与代码质量,生成突变分数及未被捕获的残留变异体报告,适用于优化测试覆盖与增强断言强度的场景。

快捷安装

在终端运行此命令,即可一键安装该 Skill 到您的 Claude 中

npx skills add jeremylongshore/claude-code-plugins-plus-skills --skill "mutation-test-runner"

Overview

This skill empowers Claude to execute mutation testing, providing insights into the effectiveness of a test suite. By introducing small changes (mutations) into the code and running the tests, it determines if the tests are capable of detecting these changes. This helps identify weaknesses in the test suite and improve overall code quality.

How It Works

  1. Mutation Generation: The plugin automatically introduces mutations (e.g., changing + to -) into the code.
  2. Test Execution: The test suite is run against the mutated code.
  3. Result Analysis: The plugin analyzes which mutations were “killed” (detected by tests) and which “survived” (were not detected).
  4. Reporting: A mutation score is calculated, and surviving mutants are identified for further investigation.

When to Use This Skill

This skill activates when you need to:

  • Validate the effectiveness of a test suite.
  • Identify gaps in test coverage.
  • Improve the mutation score of a project.
  • Analyze surviving mutants to strengthen tests.

Examples

Example 1: Improving Test Coverage

User request: “Run mutation testing on the validator module and suggest improvements to the tests.”

The skill will:

  1. Execute mutation tests on the validator module.
  2. Analyze the results and identify surviving mutants, indicating areas where tests are weak.
  3. Suggest specific improvements to the tests based on the surviving mutants, such as adding new test cases or modifying existing ones.

Example 2: Assessing Test Quality

User request: “What is the mutation score for the user authentication service?”

The skill will:

  1. Execute mutation tests on the user authentication service.
  2. Calculate the mutation score based on the number of killed mutants.
  3. Report the mutation score to the user, providing a metric for test quality.

Best Practices

  • Targeted Mutation: Focus mutation testing on critical modules or areas with high complexity.
  • Analyze Survivors: Prioritize the analysis of surviving mutants to identify the most impactful improvements to test coverage.
  • Iterative Improvement: Use mutation testing as part of an iterative process to continuously improve test suite quality.

Integration

This skill integrates well with other testing and code analysis tools. For example, it can be used in conjunction with code coverage tools to provide a more comprehensive view of test effectiveness.