首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pytest cov不读取pyproject.toml

Pytest cov不读取pyproject.toml
EN

Stack Overflow用户
提问于 2020-07-09 22:39:53
回答 1查看 7.7K关注 0票数 7

Pytest cov没有从pyproject.toml文件读取其设置。我使用的是氮氧化物,所以我用以下方法进行测试:

代码语言:javascript
复制
python3 -m nox

似乎我也有同样的问题,即使没有氮氧化物。

实际上,在运行poetry install之后

  • poetry run pytest --cov=src通过测试
  • poetry run pytest --cov没有通过测试

特别是,当测试失败时,我有以下输出(输出被削减到最重要的部分):

代码语言:javascript
复制
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%

这里有一个可重复错误的代码。要运行它,您需要装诗安装氮氧化物

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-10 20:27:24

将评论变成一个回答:

检查src目录的当前处理方式。现在,它似乎是一个名称空间包,这不是您想要的。要么切换到src布局:

代码语言:javascript
复制
# pyproject.toml

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

[tool.coverage.run]
...
source = ['project']

并在test_code.py中修复导入

代码语言:javascript
复制
from src.project import code

代码语言:javascript
复制
from project import code

或删除src dir:

代码语言:javascript
复制
rootdir
├── project
│   └── __init__.py
└── tests
    └── test_code.py

并在test_code.py中修复导入。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62824783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档