url:
path('some/path_to/<int:special_id>/', some_views.someAPI.as_view(), name="someAPI")
Обычно при доступе к API с помощью https://some_domain/some/path_to/1
я могу получить данные с помощью special_id=1
.Здесь нет проблем.
Однако, когда я запускаю тест, который содержит функцию reverse()
, special_id
не загружается.
Я делаю
url = reverse('someAPI', kwargs={'special_id': 1})
request = self.factory.get(url)
force_authenticate(request, user=self.user)
response = someAPI.as_view()(request, special_id=1)
это дало мне 404: Не найдено, когда я ожидаю 200
Я проверил путь, и он кажется правильным.Мне интересно, почему я получаю 404. Это проходит через юнит-тест django.
РЕДАКТИРОВАТЬ:
Оказывается, я не сохранил объект в тестовой БД.Убедитесь, что вы вызываете save()
при создании объекта .....