pytest 生成的进程的覆盖范围

问题描述 投票:0回答:1

我正在尝试覆盖 pytest 生成的 Python 进程。以下是我采取的步骤:

  1. 在我的本地站点包目录中创建一个 sitecustomize.py 模块
#/home/Olumide/.local/lib/python3.10/site-packages/sitecustomize.py
import coverage
coverage.process_startup()
  1. 设置
    COVERAGE_PROCESS_START
    环境变量如下
    export COVERAGE_PROCESS_START=True
  2. 运行测试
    coverage run --rcfile=.coveragerc -m pytest tests/gui/test_screenshots.py
    ,当前目录包含.coveragerc文件
[run]
source = src/
parallel = True
relative_files = True
omit =
    **/tests/*

请注意,脚本

tests/gui/test_screenshots.py
启动了一个我想要覆盖的外部Python应用程序。

不幸的是我仍然收到警告:

/home/Olumide/repos/app/3.10_env/lib/python3.10/site-packages/coverage/control.py:887: CoverageWarning: No data was collected. (no-data-collected)
  self._warn("No data was collected.", slug="no-data-collected")
python pytest coverage.py
1个回答
0
投票

文档说

它检查 COVERAGE_PROCESS_START 环境变量,如果已设置,则开始覆盖率测量。环境变量的值将用作要使用的配置文件的名称。

您需要使用配置文件的路径作为环境变量的值。

© www.soinside.com 2019 - 2024. All rights reserved.