Pytest cov没有从pyproject.toml文件读取其设置。我使用的是氮氧化物,所以我用以下方法进行测试:
python3 -m 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%这里有一个可重复错误的代码。要运行它,您需要装诗和安装氮氧化物。
发布于 2020-07-10 20:27:24
将评论变成一个回答:
检查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 dir:
rootdir
├── project
│ └── __init__.py
└── tests
└── test_code.py并在test_code.py中修复导入。
https://stackoverflow.com/questions/62824783
复制相似问题