Я построил веб-приложение, где back-end реализован с использованием Django REST Framework. Теперь я пишу модульные тесты, и я столкнулся с проблемой тестирования моих методов сериализации. Вот один из примеров метода сериализатора я борюсь с:Django REST Framework - задать запрос в тесте serializer?
def get_can_edit(self, obj):
request = self.context.get('request')
user = User.objects.get(username=request.user)
return user == obj.admin
При попытке вызвать это из теста, сначала я объявляю экземпляр сериализатором:
self.serializer = ConferenceSerializer()
Но теперь мне нужно self.serializer
, чтобы получить правильный запрос, если get_can_edit
делает self.context.get('request')
. Я создал поддельный запрос с правильной информацией с использованием RequestFactory:
self.request1 = RequestFactory().get('./fake_path')
self.request1.user = self.user1
Теперь я застрял, потому что я не уверен, как добавить request1
к serializer
такой, что self.context.get('request')
вернется request1
.
Спасибо.
Это сработало - Большое спасибо! – Tom