mes*_*shy 45 django tdd unit-testing django-urls
除了我之外,我在我的应用程序中实现了100%的测试覆盖率urls.py.您对我如何为我的网址编写有意义的单元测试有什么建议吗?
FWIW这个问题出现了,因为我正在尝试测试驱动开发,并希望在编写代码来修复它们之前进行失败的测试.
kar*_*ikr 59
一种方法是reverseURL名称和验证
例
urlpatterns = [
url(r'^archive/(\d{4})/$', archive, name="archive"),
url(r'^archive-summary/(\d{4})/$', archive, name="archive-summary"),
]
Run Code Online (Sandbox Code Playgroud)
现在,在测试中
from django.urls import reverse
url = reverse('archive', args=[1988])
assertEqual(url, '/archive/1988/')
url = reverse('archive-summary', args=[1988])
assertEqual(url, '/archive-summary/1988/')
Run Code Online (Sandbox Code Playgroud)
你可能正在测试这些观点.
现在,要测试URL是否连接到右视图,您可以使用 resolve
from django.urls import resolve
resolver = resolve('/summary/')
assertEqual(resolver.view_name, 'summary')
Run Code Online (Sandbox Code Playgroud)
现在在变量resolver(ResolverMatch类实例)中,您有以下选项
'app_name',
'app_names',
'args',
'func',
'kwargs',
'namespace',
'namespaces',
'url_name',
'view_name'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15156 次 |
| 最近记录: |