为django URL Dispatcher编写的测试不起作用

时间:2012-06-04 03:30:29

标签: python django testing http-status-code-404

我正在使用django中的一个简单的web服务。这是我在django / python中的第一个web应用程序,所以如果我在这里遗漏了一些明显的东西,我不会感到惊讶,但是......

我目前正在尝试测试我的逻辑以过滤网址。

            # Works as expected
            response = self.client.post("/mysite/goodurl/")
            self.assertEqual(response.status_code, 200)

            # Has an exception rather than a 404
            response = self.client.post("/mysite/badurl/")
            self.assertEqual(response.status_code, 404)

所以,badurl案例并不是简单地找不到并抛出404,而是我得到了这个错误:

Traceback (most recent call last):
  File "/home/user/me/mysite/tests.py", line 55, in test_add_tracker
    response = self.client.post("/mysite/badurl/")
  File "/home/path/to/some/bin/dir/freeware/Python/lib/python2.7/site-packages/django/test/client.py", line 449, in post
    response = super(Client, self).post(path, data=data, content_type=content_type, **extra)
  File "/home/path/to/some/bin/dir/freeware/Python/lib/python2.7/site-packages/django/test/client.py", line 262, in post
    return self.request(**r)
  File "/home/path/to/some/bin/dir/freeware/Python/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/home/path/to/some/bin/dir/freeware/Python/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 77, in wrapped_view
    return view_func(*args, **kwargs)
TypeError: EtimeFetcher() got an unexpected keyword argument 'alias'

我尝试使用谷歌搜索EtimeFetcher消息,但没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你可能有一些观点来捕捉所有Http404错误。看来Django已经找到了为/ badurl执行的视图。在代码中搜索包含名为parameter的别名的语句,例如:“alias = yyyy”。或者可能是一些url模式,将'别名'作为urls.py中的额外参数?