我有一个布局如下的包裹:
tiny-py-interpreter/
|-- setup.py
|-- .coveragerc
|-- tinypy/
| -- foo/
| -- bar/
| -- tests/
| -- tinypyapp.py
| -- run_tests.py
这里有一些来自设置.py公司名称:
^{pr2}$安装包后,将安装名为tinypy
的控制台脚本:
pip3 install .
然后我运行报道:
coverage run setup.py test
coverage combine
coverage report
我所有的测试都是以这样的方式实现的,每个测试都会启动tinypy
的一个子进程,所以我在.coveragerc
中使用parallel = True
来捕获覆盖运行的结果。在
本质上,我的布局与coverage
itself相同,其中coverage
和{tinypy
和{
问题执行控制台脚本tinypy
(tinypyapp.py
)时,它使用tinypy
包的安装版本,该版本位于/usr/local/lib/python3.5/site-packages/tinypy/
。覆盖率忽略./tinypy
中的源代码(因为它们没有被使用)。如果省略了source
参数,则可以看到site-packages/tinypy
中代码的覆盖率。在
问题:如何合理组织项目?当tinypyapp.py
作为脚本安装时,它将安装在与tinypy
文件夹相同的级别(更高一级,而不是内部)。我不能把tinypyapp.py
放在tinypy
文件夹之外设置.py找不到。因此,我不能使用tinypyapp.py
,必须使用脚本的名称(即tinypy
)。在
我认为最简单的方法是不要将正在处理的代码安装到站点包中,而是使用开发安装:
我当前的解决方法是在根文件夹中创建
test_entry_point.py
:包括以下内容:
^{pr2}$在测试中启动子进程时使用以下文件名:
相关问题 更多 >
编程相关推荐