|
|
1
3
不,coverage.py不处理表达式中的条件分支。这不仅影响Python条件表达式,还使用
Ned Batchelder,维护者
这个问题延伸到
如果
支持有条件覆盖的一个障碍是技术性的:
这并不是说阻止了另一个项目, instrumental 从提供条件/决策保险 无论如何 该项目使用AST重写和导入挂钩来添加额外的字节码,使其能够跟踪单个条件的结果,从而为您提供表达式“真值表”的概述。这种方法有一个巨大的缺点:它非常脆弱,经常需要更新新的Python版本。因此,该项目与Python 3.4决裂,尚未得到修复。 Python 3.7 added support for tracing at the opcode level ,允许跟踪器分析每个字节码的效果,而无需诉诸AST黑客攻击。随着coverage.py 5.0达到稳定状态,它 appears that the project is considering adding support for condition coverage ,可能有赞助商支持开发。 所以你现在的选择是:
|
|
2
-2
如果cond-else为res2,则不要使用res1——它必须被视为一个单一的语句。如果你把它写成If/else,我认为coverage.py会做得更好。 考虑使用类似pylint的东西,或者至少是pyflakes。我相信这些会自动检测到问题。 |
|
|
Tim Kirkwood · 比较空数据帧 1 年前 |
|
|
nerrood · 为什么在笑话测试中不调用save 1 年前 |
|
|
eof · Chrome块文件下载-selenium 1 年前 |
|
Display name · Ember.js辛烷值验收试验 1 年前 |
|
|
Vitto · 理智和回归测试是如何在一个简单的场景中协同工作的? 1 年前 |
|
|
mattsmith5 · 使用特征文件并行计算空手道跑场景 1 年前 |
|
|
Norronas · 采用裸机编程的寄存器单元测试 1 年前 |