首页 > 解决方案 > Django pytest:无法测试用户页面详细信息

问题描述

我有一个博客作者的详细页面,它使用以下 urlpatterns

网址.py

from . import views
from django.urls import path,include
urlpatterns = [
path('all/', views.PostListView.as_view(), name='all'),
path('<int:id>/',views.PostDetailView.as_view(), name='detail'),
path('blogger/<username>/',views.userpage, name='userpage'),
path('bloggers/', views.allblogers, name='allauthors'),

]

主要网址.py

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('app.urls')),
    path('account/', include('accounts.urls'))
]

使用此测试功能时,出现错误:

WARNING  django.request:log.py:224 Not Found: /blog/1/
========================== short test summary info ==========================
FAILED app/tests.py::test_user_detail - assert 404 == 200

测试.py

@pytest.mark.django_db
def test_user_detail(client, django_user_model):
   user = django_user_model.objects.create(
       username='someone', password='password'
   )
   url = reverse('detail', kwargs={'id': user.id})
   response = client.get(url)
   assert response.status_code == 200
   assert 'someone' in response.content

标签: djangopytest-django

解决方案


推荐阅读