mutation-testing

mutation-testing

热门

配置 mewt 或 muton 变异测试活动——限定目标范围、调整超时设置并优化长时间运行。当用户提及 mewt、muton、变异测试,或希望配置或优化变异测试活动时使用。

6317Star
544Fork
更新于 2026/7/28
SKILL.md
只读
名称
mutation-testing
描述

配置 mewt 或 muton 变异测试活动——限定目标范围、调整超时设置并优化长时间运行。当用户提及 mewt、muton、变异测试,或希望配置或优化变异测试活动时使用。

变异测试——活动配置(mewt/muton)

注意:muton 和 mewt 共享相同的接口,但针对不同的语言——mewt 用于通用语言(Rust、Solidity、Go、TypeScript、JavaScript),muton 用于 TON 智能合约(Tact、Tolk、FunC)。所有示例均使用 mewt 命令,但它们与 muton 完全一致。文件名相应更改:mewt.tomlmuton.tomlmewt.sqlitemuton.sqlite

何时使用

当用户出现以下情况时使用此技能:

  • 提及 "mewt"、"muton" 或 "变异测试"
  • 需要配置或优化变异测试活动
  • 想要运行 mewt run 并需要帮助进行初始设置

何时不使用

当用户出现以下情况时不要使用此技能:

  • 想要分析或报告已完成的活动结果
  • 询问测试或覆盖率但未提及变异测试

快速开始

加载 workflows/configuration.md——这是一份从 mewt init 到经过验证、可运行活动的 5 阶段指南。

一般问题或不熟悉的命令?
运行 mewt --helpmewt <subcommand> --help,然后提供帮助。


参考索引

文件 内容
workflows/configuration.md 5 阶段指南:初始化、范围限定、优化、验证、运行
references/optimization-strategies.md 按文件定位、两阶段活动、变异类型过滤

基本命令

# 初始化并生成变异体
mewt init                    # 创建 mewt.toml 和 mewt.sqlite
mewt mutate [paths]          # 生成变异体但不运行测试
mewt run [paths]             # 运行完整活动

# 检查配置和范围
mewt print config            # 查看有效配置
mewt print targets           # 所有目标文件的表格
mewt print mutations --language [lang]  # 可用的变异类型
mewt status                  # 变异体数量及按文件细分

# 调查特定变异体
mewt print mutants --target [path]   # 某个文件的所有变异体
mewt print mutants --severity high   # 按严重性过滤
mewt print mutant --id [id]          # 查看变异代码差异
mewt test --ids [ids]                # 重新测试特定变异体

结果含义

  • Caught/TestFail:测试检测到变异(良好)
  • Uncaught:变异存活——表明存在未测试的逻辑
  • Timeout:测试耗时过长,结果不确定
  • Skipped:同一行上更严重的变异体已失败