coverage.py不适用于相对进口?

时间:2014-07-15 12:50:58

标签: python django coverage.py django-nose

我正在收集我的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 *,则统计信息就在那里。

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

有人偶然发现了这样的事吗?我真的不想总是拥有完整的导入路径,除非我真的需要,所以任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

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

py.test --cov app

报道了报道。