修剪 coverage.py html 报告中的目录文件名

Pruning dir-filename in coverage.py html report

当使用 coverage.py 测试一些代码时,我偶然发现了 windows 下文件名太长的问题:要测试的 python 代码很好地嵌套在某个目录的深处.在那里,我还想使用

创建实际的 html 报告
coverage.py html

以失败告终,某些文件不存在。问题:目录字符串的长度 + 文件名字符串的长度太长了(windows 问题 + 我复杂的目录结构的完美组合)。

我现在的解决方案:我配置文件 .coveragerc,使 html 报告写入 c:\tmp\report 的某处,效果很好。然而,稍后这个任务应该 运行 在 Jenkins 服务器上,我被绑定到一些更长的目录。

我的问题:为什么coverage.py html需要创建这些很长的文件名,包括所有目录?有什么方法可以 p运行e 这些文件名,以便省略常见的前导码?

要回答你的具体问题,不是!不再是了,就是这样。从 6.0 版开始,coverage.py 使用不同的文件命名方法,这导致文件名更短。参见:https://github.com/nedbat/coveragepy/issues/580 and the commit that fixes it here: https://github.com/nedbat/coveragepy/commit/4d05ddeeded7f3f594c0614630f467e1bf3fa629

如果这对您来说仍然是个问题,我建议您更新您的保险包,看看是否有帮助。