【问题标题】:Test Django url 'name' is correct url测试 Django url 'name' 是正确的 url
【发布时间】:2018-07-23 21:47:55
【问题描述】:

我认为我想要做的事情是不言而喻的:

urls.py

urlpatterns = [
    path('', views.home_page, name='home_page'),
]

test.py

def test_home_page_view_name_uses_correct_url(self):
    name = self.client.get(reverse('home_page'))
    path = self.client.get('/')

    self.assertEqual(name, path)

但我收到此错误:

AssertionError: <HttpResponse status_code=200, "text/html; charset=utf-8">
             != <HttpResponse status_code=200, "text/html; charset=utf-8">

如何正确测试?

【问题讨论】:

  • 您想测试 URL 是否相同,或者您想测试您的 '/' URL 是否呈现某个视图/模板?
  • 我会推荐测试山羊免费电子书和关于单元测试主页的章节:obeythetestinggoat.com/book/chapter_unit_test_first_view.html
  • 我猜同样的看法。我想确保当我使用名称时,路径与使用硬编码路径相同
  • 我刚读完那本书。他没有特别提到这一点。也许没有必要? @dfundako

标签: django unit-testing django-urls django-unittest


【解决方案1】:

似乎没有任何理由让客户参与进来。

name = reverse('home_page')
path = '/'

self.assertEqual(name, path)

【讨论】:

  • 当然,这么简单我都想不到。谢谢!
猜你喜欢
  • 2013-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-19
  • 2019-07-17
  • 1970-01-01
  • 2014-01-09
相关资源
最近更新 更多