如何运行覆盖与src-layout的Python项目?



我的python项目是在所谓的src-layout中构建的。

hyperorg
├── README.md
├── setup.cfg
├── setup.py
├── src
│   └── hyperorg
│       ├── content.py
│       ├── exporter.py
│       ├── __init__.py
│       ├── __main__.py
│       └── reader.py
└── tests
├── helper.py
├── __init__.py
├── test_content.py
├── test_exporter.py
├── test_hyperorg.py
└── test_reader.py

我不能得到coverage运行它。我该怎么做呢?

我已经尽力了

在项目根目录下运行coverage只会得到Nothing to run

或者coverage run ./src/hyperorg给我

Traceback (most recent call last):
File "/home/user/tab-cloud/hyperorg/src/hyperorg/__main__.py", line 6, in <module>
from .content import Content
ImportError: attempted relative import with no known parent package

这样做的方法之一是通过cd src进入src文件夹,然后从那里运行覆盖,如下所示:

coverage run -m unittest discover -s ../tests

您还可以利用rcfile(默认的.coveragerc)来指定配置和更改HTML报告路径,以便在src文件夹之外创建。

最新更新