Я пытаюсь решить, следует ли использовать Django Client
или RequestFactory
для проверки моих просмотров.Django test RequestFactory vs Client
Я создаю мой сервер с помощью DjangoRESTFramework, и это очень просто, до сих пор:
class SimpleModelList(generics.ListCreateAPIView):
"""
Retrieve list of all route_areas or create a new one.
"""
queryset = SimpleModel.objects.all()
serializer_class = SimpleModelSerializer
filter_backends = (IsOwnerFilterBackend,)
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
Каковы различия между тестирования с Джанго Client
и RequestFactory
и какой подход больше подходит для тестирования сервера REST (если есть какая-то разница, кроме того, что нравится лучше)?
Должен ли я создавать тесты для обоих, чтобы обеспечить лучшее покрытие для моей системы?
Благодарим вас за этот ответ. Не могли бы вы привести мне пример, где завод будет более подходящим для тестирования? –
Если вы должны были создать нечто похожее на встроенный ['AuthenticationForm'] (https://docs.djangoproject.com/en/1.8/topics/auth/default/#django.contrib.auth.forms.AuthenticationForm) , который в качестве первого аргумента принимает объект 'request', вы должны использовать' RequestFactory' для его проверки. – knbk
Я не думаю, что для проверки представлений строго необходимо использовать «Клиент». Я видел код, который создает 'request' с' RequestFactory', а затем вызывает 'SomeView.as_view() (request)' для получения ответа. Но я пришел сюда, потому что не был уверен, что это лучший способ сделать это. Люди в другой проблеме говорят, что «Клиент» больше подходит для тестирования интеграции: http://stackoverflow.com/questions/5777447/test-django-views-that-require-login-using-requestfactory?rq=1 – Andy