Клиент django test возвращает 404, но работает в оболочке
Этот код прекрасно работает в оболочке, но если запустить его через python manage.py test
, он выдает ошибку 404, в чем может быть проблема?
test_urls.py
from django.test import Client, TestCase
class StaticURLTests(TestCase):
def setUp(self):
self.guest_client = Client()
def test_homepage(self):
response = self.guest_clientw.get("/")
self.assertEqual(response.status_code, 200)
error:
$ python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
E
======================================================================
ERROR: test_homepage (posts.tests.test_urls.StaticURLTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/finegorko/Development/Yandex.Practicum/hw03_forms/yatube/posts/tests/test_urls.py", line 9, in test_homepage
response = self.guest_client.GET.get("/")
AttributeError: 'Client' object has no attribute 'GET'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
Destroying test database for alias 'default'...
Проблема заключалась в том, что создавалась тестовая база данных, у которой не было группы.
В views.py
в индексный контекст передавался объект с функцией get_object_or_404()
.
def index(request):
...
group = get_object_or_404(Group) # <--