Test_add_movie_invalid_json fail Курс: Тестируемая разработка с Django, Django REST Framework и Docker
В курсе Test-Driven Development with Django, Django REST Framework, and Docker я добавил модульные тесты в раздел Restful Routes. но когда я запускаю pytest, новый тест не работает.
Я не уверен, почему этот тест не работает.
@pytest.mark.django_db
def test_add_movie_invalid_json(client):
movies = Movie.objects.all()
assert len(movies) == 0
resp = client.post(
"/api/movies/",
{},
content_type="application/json"
)
assert resp.status_code == 400
movies = Movie.objects.all()
assert len(movies) == 0
_______________________________ test_add_movie_invalid_json ________________________________
self = <movies.views.MovieList object at 0x000001E0BFA8BDC0>
request = <rest_framework.request.Request: POST '/api/movies/'>, response = None, args = ()
kwargs = {}
def finalize_response(self, request, response, *args, **kwargs):
"""
Returns the final response object.
"""
# Make the error obvious if a proper response is not returned
> assert isinstance(response, HttpResponseBase), (
'Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` '
'to be returned from the view, but received a `%s`'
% type(response)
)
E AssertionError: Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<class 'NoneType'>`
.venv\lib\site-packages\rest_framework\views.py:423: AssertionError
------------------------------------ Captured log call -------------------------------------
ERROR django.request:log.py:241 Internal Server Error: /api/movies/
Traceback (most recent call last):
AssertionError: Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<class 'NoneType'>`