python - django url 测试用例
问题描述
我是 Django 新手,我正在学习一个教程,在编写测试用例后一切都很好,它显示了一些错误,我按照教程进行操作,不知道为什么它不起作用。
运行 python manage.py 测试
输出:
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'...
测试.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)
网址.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 版本 3.6.2 django 版本 2.1.1
先感谢您。
解决方案
您没有任何 URL,/
仅在您的 urls.py上/admin/...
和中。/homepage
所以你必须resolve('/')
改为resolve('/homepage/')
推荐阅读
- hadoop - 在 Apache Hadoop 中的 Datanode 内重新平衡磁盘
- android - 闪屏覆盖 PreferenceActivity
- php - 如何将表单中的数据插入数据库并获取最后插入的 ID/在 CI 中创建 uniqueID 作为用户的 Session
- java - 当我需要计算股权回报时,嵌套循环给了我相同或错误的答案
- python - 我应该使用等待popen吗
- php - 如何将随机数插入数据库不重复
- java - Android studio 点击 Listview 并设置视图
- r - 如何在 R 编程中的 plot() 上添加 legend()
- laravel - PayPal API 中没有返回电话号码
- r - 处理故意的命名空间冲突