python - Python Coverage 说 A 行被覆盖,需要知道从哪里
问题描述
我有一份可能是谎言或歪曲的报道。它说我覆盖了我的 Django 模型代码中的一行。我看不到那条线在哪里行使。我可以看到模块被导入,类被导入,但没有被调用/实例化。
因此,覆盖率报告说我覆盖了 A 线。大概这意味着 B 线,某处,正在行使它。我想知道B线在哪里。 有没有办法在我的测试中找到调用 Line A 的一组 Line-B(一个或多个)?
似乎这可能以某种方式/某处成为覆盖率报告中的注释。这绝对是可知的,因为覆盖必须跟踪正在使用的东西。
我没有看到它。
如果这没有实现,我想建议它。我知道,作为每行执行的完整堆栈跟踪,它可能太复杂了。但是,也许只是检查立即调用框架将是一个好的开始,并且很有帮助。
解决方案
这是一种有趣的方式来发现涵盖该行的内容:
在该行中插入一个错误。
如果您随后运行测试,真正覆盖该线路的测试将失败。堆栈跟踪应包括 B 行。
推荐阅读
- javascript - 通过登录用户 REACT 过滤 Firebase 数据
- node.js - 带有 async / await 的 async.js - 需要帮助解释为什么这不起作用
- javascript - bootstrap-tour .click() 函数不点击按钮
- android - 警告对话框在 Android 中不显示
- sql - 查询各部门工资前2名
- celery - 芹菜组任务结果始终为无
- database - 管理庞大的 mongoDB 集合
- javascript - 在 Javascript 中处理欧洲数字格式
- image - 根据用户输入对网格中的图像进行排序
- android - 如何通过 SearchView (Kotlin) 在 RecyclerView 中过滤卡片?