我正在Django中编写一些测试来检查我写的应用程序。我或多或少地通过这里建议的工作(http://toastdriven.com/blog/2011/apr/10/guide-to-testing-in-django/)。 但是,当我把类似
的东西 resp = self.client.get('made_up_url')
self.assertEqual(resp.status_code, 404)
哪个不存在(因此我希望404响应,即测试将通过)...但测试失败说200!= 400,即它似乎认为made_up_url是有效的页。
任何想法可能出错?
答案 0 :(得分:0)
您正在尝试self.client.get
一个不存在的网址:made_up_url
。正如dan-klasson告诉你的那样,你需要得到/made_up_url
。
我建议,不要在self.client.get
参数中对网址进行硬编码,而是在urls.py
文件中首先name the related URL。因此,您可以通过reverse
函数解决此问题。
然后,一旦你有了name
,就可以在你的单元测试中做到这一点:
from django.core.urlresolvers import reverse
url = reverse('made_up_url')
resp = self.client.get(url)
self.assertEqual(resp.status_code, 404)