【发布时间】:2014-11-11 21:53:12
【问题描述】:
我有这个网址:
url(r'^detail/(?P<pk>\d+)/$', views.Details.as_view(), name='detail'),
我的测试:
def test_detail(self):
resp = self.client.get("/detail/")
self.assertEqual(resp.status_code, 200)
在我的测试结果中,我得到:
AssertionError: 404 != 200
如何测试这个?
【问题讨论】:
-
reverse是做什么的? -
@adarsh 获取url的名称
-
我个人更喜欢手动编写 url,因为这样测试“更容易”破坏,例如,如果反向只是补充不良行为。无论如何,尝试打印返回的值。还有其他原因导致您的视图代码返回 404 吗?
-
URL 需要
pk- 这不是可选的。因此是 404。除非您有另一个与/detail完全匹配的目标,例如:url(r'^detail/$',否则这肯定会失败。
标签: python django testing python-unittest