使用 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/