Не проходите тестовый клиент, в этом случае.Если вы измените поведение тестового клиента, а затем сделаете запрос через него, вы не тестируете свой код на основе входных данных, которые ему фактически придется обработать.
Вы не должны доверять тестовому клиенту для создания HTTP-запросов точно так же, как клиент WSGI.Он выполняет достаточно хорошую работу, чтобы получить параметры запроса в вашем представлении, но он, конечно, отличается от того, что вы получили бы от реального запроса.
Цель тестового клиента - защитить вас отвсе беспорядочные детали реальных объектов запроса и ответа, и просто позволяют вам проверить, как ваши представления реагируют на входные параметры.В вашем случае, однако, вам нужно проверить эти детали.
Вы должны создать объект HTTPRequest так же, как это сделал бы Django - использовать столько функций Django, сколько вам нужно для его построения, а затем вызвать вашview, или ваше промежуточное ПО, напрямую с этим объектом HTTPRequest.Если ваше представление должно вызывать исключение, используйте assertRaises для его проверки.Если он должен вернуть HTTPResponse с кодом состояния, установленным в 500, то проверьте это - или протестируйте их вместе с пользовательским методом assert, если вам нужно.