2012-06-04 1 views
1

Я работаю над простой веб-службой в django. Это мое первое веб-приложение в django/python, поэтому я не удивлюсь, если я пропущу что-то очевидное здесь, но ...Тест написан для django URL Диспетчер не работает

В настоящее время я пытаюсь проверить свою логику фильтрации URL-адреса.

  # 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, но не повезло. Есть идеи?

+0

У вас есть мнение, чтобы поймать все ошибки Http404? Кажется, что Django, однако, нашел представление для исполнения для badurl. Найдите в своем коде для операторов, содержащих псевдоним, именованный параметр, например: «alias = yyyy». Или, вероятно, какой-то шаблон url, связанный с псевдонимом в качестве дополнительного параметра в urls.py? – Tisho

+0

@ Тишо - ты был прав. Пожалуйста, поместите свой комментарий в качестве ответа, чтобы я мог продвигать/принимать. В принципе, у меня был URL-адрес, который я еще не написал. Когда обработчик запроса пытался просмотреть все взгляды в списке URL-адресов, он попал в тот, который я еще должен был написать ... и бум! – Dave

+0

Приятно слышать, что это помогает :) – Tisho

ответ

1

Возможно, у Уу есть возможность взглянуть на все ошибки Http404. Кажется, что Django, однако, нашел представление для выполнения/badurl. Найдите в своем коде для операторов, содержащих псевдоним, именованный параметр, например: «alias = yyyy». Или, вероятно, какой-то шаблон url, связанный с псевдонимом в качестве дополнительного параметра в urls.py?

Смежные вопросы