使用 Django Nose 。我对我的 URL 进行了测试,但 URL 的覆盖率仍然为 0%,为什么?



这是我的报道:

Name                               Stmts   Miss  Cover   Missing
----------------------------------------------------------------
profiles                               0      0   100%
profiles.migrations                    0      0   100%
profiles.migrations.0001_initial       6      0   100%
profiles.models                        0      0   100%
profiles.urls                          4      4     0%   1-9
----------------------------------------------------------------
TOTAL                                 10      4    60%
----------------------------------------------------------------

这是我的 URL 测试之一...

url_tests.py
import nose.tools as noz
from django.test import TestCase
from django.core.urlresolvers import resolve, reverse

class URLsTest(TestCase):

    def test_user_list(self):
        url = reverse('api_user_list', args=[])
        noz.assert_equal(url, '/api/user/')

最佳答案

通常这与coverage.py 在此过程中启动太晚有关。确保它足够早开始的最简单方法是在覆盖范围内运行测试运行器:

$ coverage run nosetests.py ....

urls.py 的一个相关细节:它只包含在导入时执行的代码。所以整个文件在 Django 启动并导入 urls.py 时执行。这与大多数文件不同,大多数文件定义稍后执行主体的类或函数。

关于python - URL 的 Django 覆盖率测试为 0%,为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25899439/

10-14 17:45
查看更多