gpt4 book ai didi

Django 网址测试

转载 作者:行者123 更新时间:2023-11-28 20:49:36 26 4
gpt4 key购买 nike

我的web应用的urls.py如下

urlpatterns = [
path('u/<int:unit_id>/', views.unit_view, name='unit_view'),
path('u/<int:unit_id>/edit/', views.unit_edit, name='unit_edit'),
]

我尝试编写如下测试。无法运行测试。甚至没有得到错误

from django.urls import reverse, resolve


class TestUrls:

def test_unit_view_url(self):
path = reverse('unit_view', kwargs={'unit_id': 1})
assert resolve(path).views.unit_view == 'unit_view'

def test_unit_edit_url(self):
path = reverse('unit_edit', kwargs={'unit_id': 1})
assert resolve(path).views.unit_edit == 'unit_edit'

最佳答案

您没有从 TestCase 继承,所以对于 Django 这只是一个普通类。

<b>from django.test import TestCase</b>
from django.urls import reverse, resolve

class TestUrls<b>(TestCase)</b>:

def test_unit_view_url(self):
path = reverse('unit_view', kwargs={'unit_id': 1})
self.assertEqual('unit_view', resolve(path).views.unit_view)

def test_unit_edit_url(self):
path = reverse('unit_edit', kwargs={'unit_id': 1})
self.assertEqual('unit_edit', resolve(path).views.unit_view)

通常断言也用 assertEqual(..) [Python-doc] 编写和 friend ,因为这会产生有用的消息,例如:

AssertionError: 'foobar' != 'foobor'
- foobar
? ^
+ foobor
? ^

然后测试将打印这两个值,并且 - 根据类型和断言 - 甚至可以更深入地了解问题出在哪里。

有关详细信息,请参阅 Django documentation on Writing and running tests .

关于Django 网址测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52479839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com