简体   繁体   English

django url 测试用例

[英]django url testing case

I am new to Django, I am following one tutorial for learning, everything went fine after writing the testing cases it's showing some error, I am following as per tutorial don't know why it's not working.我是 Django 的新手,我正在学习一个教程,编写测试用例后一切正常,但显示一些错误,我按照教程进行操作,不知道为什么它不起作用。

Run python manage.py test运行 python manage.py 测试

Output:输出:

Creating test database for alias 'default'...
System check identified no issues (0 silenced).
E.
======================================================================
ERROR: test_home_url_resolves_home_view (boards.tests.HomeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\sradha\Development\myproject\myproject\boards\tests.py", line 13, in test_home_url_resolves_home_view
    view = resolve('/')
  File "C:\Users\sradha\Development\myproject\venv\lib\site-packages\django\urls\base.py", line 24, in resolve
    return get_resolver(urlconf).resolve(path)
  File "C:\Users\sradha\Development\myproject\venv\lib\site-packages\django\urls\resolvers.py", line 520, in resolve
    raise Resolver404({'tried': tried, 'path': new_path})
django.urls.exceptions.Resolver404: {'tried': [[<URLResolver <URLPattern list> (admin:admin) 'admin/'>], [<URLPattern 'homepage/' [name='home']>]], 'path': ''}

----------------------------------------------------------------------
Ran 2 tests in 0.036s

FAILED (errors=1)
Destroying test database for alias 'default'...

tests.py file测试.py文件

from django.urls import reverse
from django.urls import resolve
from django.test import TestCase
from .views import home

class HomeTests(TestCase):
    def test_home_view_status_code(self):
        url = reverse('home')
        response = self.client.get(url)
        self.assertEquals(response.status_code, 200)

    def test_home_url_resolves_home_view(self):
        view = resolve('/')
        self.assertEquals(view.func, home)

urls.py网址.py

from django.contrib import admin
from django.urls import path
from boards import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('homepage/', views.home, name='home'),
]

python version 3.6.2 django version 2.1.1 python 版本 3.6.2 django 版本 2.1.1

thank you in advance.先感谢您。

You do not have any URL on / only on /admin/... and /homepage in your urls.py.您没有任何URL //admin/.../homepage在urls.py.

So you would have to change resolve('/') to resolve('/homepage/')因此,您必须将resolve('/')更改为resolve('/homepage/')

In the test.py file, you have to make changes to resolve the argument.test.py文件中,您必须进行更改以解决参数。

def test_home_url_resolves_home_view(self):

    view = resolve('/homepage/')
    self.assertEquals(view.func, home)

Below is the link to the tutorial: Django tutorial for reference.下面是教程的链接: Django 教程供参考。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM