<HttpResponseNotFound status_code=404, "text/html"> в django-test
Я новичок в модульном тестировании и пытался протестировать метод GET карточной игры, которую я создал.
Мой тест-кейс следующий:
def test_rooms(self):
c = APIClient()
room_id = PokerRoom.objects.get(name='planning').id
request = c.get('http://127.0.0.1:8000/room/{}'.format(room_id))
print(request)
Идентификатор является UUID, поэтому я использую метод room_id.
Мой url:
path('room/<int:pk>', room),
где room - метод @api_view(['GET']), а pk - id комнаты. Но когда я пытаюсь протестировать это, возникает ошибка:
<HttpResponseNotFound status_code=404, "text/html">
Проверил, существует ли комната в тестовой базе данных, и она существует, теперь я не знаю, что происходит. Может ли кто-нибудь помочь мне?
Можете ли вы добавить больше деталей к вашему коду выше, например, как был создан набор тестов, как настроены данные и т.д.? Одна проблема, которую я сразу же заметил, заключается в том, как выполняется запрос. Почему вы используете полный URL? Если вы используете клиент API для тестирования Django/DRF, вы должны использовать URL пути представления вместо полного URL.
Ссылка: https://docs.djangoproject.com/en/4.0/topics/testing/tools/#overview-and-a-quick-example