2

我正在为我的 django 应用程序收集代码覆盖率,如果模块是相对导入的,我看起来coverage.py不会收集统计信息。

更详细:

目录结构如下所示:

project
    __init__.py
    apps
        __init__.py
        my_app
            __init__.py
            my_module.py
            tests.py

因此,如果我这样做from .my_module import *-tests.py那么coverage.py将不会收集my_module.py. 但是,如果我输入from apps.my_app.my_module import *,统计信息就在那里。

我正在使用带有插件的 django-nose并且在运行测试时有标志。coverage--cover-package=apps.my_app

有没有人偶然发现这样的?我真的不想总是拥有完整的导入路径,除非我真的必须这样做,所以任何想法都值得赞赏。

4

1 回答 1

0

我不熟悉 django-nose,但是为了解决没有 Django 的类似问题,我安装了 pytest 和 pytest-cov 包并做了类似的事情:

py.test --cov app

报告了覆盖率。

于 2014-11-16T20:52:28.407 回答