使用Django Nose。我对我的网址进行了测试,但网址的覆盖率仍为0%,为什么?
python manage.py测试档案
这是我的报道:
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_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/')
答案 0 :(得分:2)
通常这与在此过程中启动得太晚的coverage.py有关。确保它足够早启动的最简单方法是在覆盖范围内运行测试运行器:
$ coverage run nosetests.py ....
urls.py的一个相关细节:它仅包含导入时执行的代码。因此,当Django启动并导入urls.py时,将执行整个文件。这与大多数文件不同,后者定义了稍后执行其主体的类或函数。