Как проверить 404 NOT FOUND с помощью среды тестирования django?

Я пытаюсь автоматизировать тестирование 404 страниц с помощью тестирования Django 1.4. рамки.

Если я напечатаю 127.0.0.1:8000/something/really/weird/в адресной строке браузера при работающем сервере разработки, я увижу страницу 404 с правильным статусом «404 NOT FOUND» (, как показывает firebug ).

Но если я попытаюсь использовать этот код для тестирования :

from django.test import TestCase
class Sample404TestCase(TestCase):
    def test_wrong_uri_returns_404(self):
        response = self.client.get('something/really/weird/')
        self.assertEqual(response.status_code, 404)

, тест завершится ошибкой с этим выводом:

$./manage.py test main
Creating test database for alias 'default'...
.F
======================================================================
FAIL: test_wrong_uri_returns_404 (main.tests.Sample404TestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../main/tests.py", line 12, in test_wrong_uri_returns_404
    self.assertEqual(response.status_code, 404)
*AssertionError: 200 != 404*

----------------------------------------------------------------------
Ran 2 tests in 0.031s

FAILED (failures=1)
Destroying test database for alias 'default'...

Я серьезно удивлюсь, получив здесь код 200. Кто-нибудь знает, почему, черт возьми, это происходит?

обновлено:

здесь лежит urls.py:http://pastebin.com/DikAVa8T и фактический тест с ошибкой:

def test_wrong_uri_returns_404(self):
    response = self.client.get('/something/really/weird/')
    self.assertEqual(response.status_code, 404)

все происходит в проектеhttps://github.com/gbezyuk/django-app-skeleton

6
задан gbezyuk 12 May 2012 в 10:21
поделиться