调试器和 PyCharm¶
(或其他 IDE)
在进行 TDD 时,显然希望调试测试。Python 中的调试器主要使用 sys.settrace 函数来访问上下文。覆盖率使用相同的技术来访问执行的行。覆盖率与同时运行的其他跟踪器配合得不好。这表现为 PyCharm 可能无论用户做什么都不会命中断点,或者遇到类似这样的错误
PYDEV DEBUGGER WARNING:
sys.settrace() should not be used when the debugger is being used.
This may cause the debugger to stop working correctly.
由于在 pytest.ini 文件中配置覆盖率是常见的做法,并且 pytest 不支持 removeopts 或类似功能,因此–no-cov标志可以完全禁用覆盖率。
在报告部分,屏幕上会显示警告消息。
Coverage disabled via --no-cov switch!