gpt4 book ai didi

python - Pytest cov 不读取 pyproject.toml

转载 作者:行者123 更新时间:2023-12-03 16:48:30 27 4
gpt4 key购买 nike

Pytest cov 未从 pyproject.toml 文件中读取其设置。我正在使用 nox,所以我使用以下命令运行测试:

python3 -m nox
即使没有 nox,我似乎也有同样的问题。
其实运行了之后 poetry install :
  • poetry run pytest --cov=src通过测试
  • poetry run pytest --cov未通过测试

  • 特别是,当测试失败时,我有以下输出(输出被剪切到最重要的内容):
    WARNING: Failed to generate report: No data to report.

    /Users/matteo/Library/Caches/pypoetry/virtualenvs/project-Nz69kfmJ-py3.7/lib/python3.7/site-packages/pytest_cov/plugin.py:271: PytestWarning: Failed to generate report: No data to report.

    self.cov_controller.finish()


    ---------- coverage: platform darwin, python 3.7.7-final-0 -----------

    FAIL Required test coverage of 100.0% not reached. Total coverage: 0.00%
    Code with a reproducible error here .
    要运行它,您需要 install poetry并到 install nox .

    最佳答案

    将评论变成答案:
    查看当前处理的src目录。现在,它似乎是一个命名空间包,这不是您想要的。要么切换到 src布局:

    # pyproject.toml

    [tool.poetry]
    ...
    packages = [
    { include = 'project', from = 'src' }
    ]

    [tool.coverage.run]
    ...
    source = ['project']
    并修复 test_code.py 中的导入:
    from src.project import code
    from project import code
    或删除 src目录:
    rootdir
    ├── project
    │ └── __init__.py
    └── tests
    └── test_code.py
    并修复 test_code.py 中的导入.

    关于python - Pytest cov 不读取 pyproject.toml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62824783/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com