You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mutmut工具执行results命令报错IndexError:元组索引越界求助

解决mutmut执行results时的IndexError及部分show命令失效问题

问题现象

  • 执行mutmut run后提示存在65个存活变异体,但运行mutmut results时抛出IndexError: tuple index out of range
  • 部分mutmut show {number}命令可正常查看变异体,部分执行失败

排查与解决步骤

1. 升级mutmut到最新稳定版

旧版本mutmut可能存在缓存结构或索引处理的bug,优先升级:

pip install --upgrade mutmut

升级后重新执行mutmut run,再尝试mutmut results。

2. 清理损坏的mutmut缓存

mutmut的测试状态存储在本地.mutmut-cache文件中,缓存损坏会导致索引解析错误:

rm .mutmut-cache

删除后重新运行mutmut run生成全新缓存,再验证results和show命令是否正常。

3. 验证配置文件路径正确性

检查config.cfg中的路径配置,确保路径与当前工作目录匹配,建议使用绝对路径避免解析问题:

[mutmut]
paths_to_mutate=/full/absolute/path/to/folder
tests_dir=/full/absolute/path/to/folder/tests

修改配置后重新执行mutmut run。

4. 检查对应变异体的测试稳定性

部分show命令失效可能对应测试用例本身不稳定(如依赖随机值、外部资源):

  • 先执行mutmut show {number}查看变异代码(若能执行)
  • 手动运行该变异对应的测试用例,确认测试是否能稳定通过/失败
  • 修复测试用例的稳定性问题后,重新运行mutmut run

5. 手动修复缓存文件(谨慎操作)

若以上方法无效,可手动检查.mutmut-cache(JSON格式):

  • 打开文件查看mutants数组,确认是否存在缺失字段、结构异常的条目
  • 删除异常条目后,保存文件再尝试mutmut results

内容的提问来源于stack exchange,提问作者Amir Jaminov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 04:59:58