我有一份可能撒谎或歪曲的报道报告。它说我覆盖了 Django 模型代码中的一行。我看不到这条线正在哪里行使。我可以看到模块已导入,类已导入,但没有看到它正在被调用/实例化。
因此,覆盖报告显示我已覆盖 A 线。据推测,这意味着 B 线在某个地方正在行使它。我想知道B线在哪里有没有办法在我的测试中找到调用 Line A 的一组 Line-B(一个或多个)?
这似乎可能是报道报告中的注释。这绝对是可知的,因为覆盖范围必须跟踪正在使用的东西。
我没看到。
如果这没有实现,我想建议它。我知道,作为每行执行的完整堆栈跟踪,它可能太复杂了。但是,也许只是检查立即调用框架将是一个好的开始,并且很有帮助。
最佳答案
coverage.py 5.0 中的新功能是 dynamic contexts它可以告诉您每行代码运行了什么测试。它不会告诉您该线路的直接调用者,但这是一个开始。
关于Python Coverage 说 A 行被覆盖,需要知道从哪里覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60100319/