Я пытаюсь добавить «Pragma: No Cover» к модулям, которые не требуют покрытия. Но cover.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