python - 覆盖“Pragma:No Cover”不适用于子文件夹中的模块
问题描述
我正在尝试将“Pragma:No Cover”添加到不需要覆盖的模块中。但是coverage.py 只识别根文件夹中模块中的注释。它不适用于子目录内的模块。
我尝试使用 --rcfile 并在 [run] 部分下有一个省略列表,这解决了我的问题 ,但我想了解为什么评论在子目录中不起作用。[我没有忘记将 exclude_lines 配置添加回我的 rcfile。]
sb@ubuntu:~/PycharmProjects/TestAutomation$ coverage report TeamCityListener.py
Name Stmts Miss Cover
-----------------------------------------
TeamCityListener.py 3 0 100%
sb@ubuntu:~/PycharmProjects/TestAutomation$ coverage report projectapi/lib/py/ProjectApiSessionManager.py
Name Stmts Miss Cover
---------------------------------------------------------------
projectapi/lib/py/ProjectApiSessionManager.py 2 2 0%
** ProjectApiSessionManager 类定义:**
class ProjectApiSessionManager(SessionManager): # pragma: no cover
def __init__(self):
super().__init__(projectapi_config_manager.env_info, auth_enabled=True)
TeamCityListener 类定义:
class TeamCityListener: # pragma: no cover
# bunch of methods
两个文件的封面列中的值应为 100%,因为这两个模块仅包含 1 个类,并且在与类定义相同的行中带有“#pragma: no cover”注释。我已经通过从 TeamCityListener.py 中删除评论进行了测试,并且封面回到了 0%,因此我可以确认它适用于根目录中的模块。
.coveragerc:
[report]
exclude_lines =
pragma: no cover
解决方案
推荐阅读
- go - 为什么我不能使用 net.go 的 conn.ok()?
- jenkins - 詹金斯停止所有正在运行/待定的作业构建
- sql - 如何随机显示具有特定值的表中的数据
- c# - 如何根据动态参数数量过滤查询
- apache-spark - 排除 kubernetes 删除的 pod
- sql - 有重复组时选择最后一组的第一条记录
- javascript - 无法解析 Firebase 网址。请使用 https://
.firebaseio.com - python - 使用 cv2.putText() 将文本放在循环之外
- python - Django:如何将字节对象保存到models.FileField?
- c++ - 我可以在联合中声明运算符吗?