[英]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.