我想确定是否应该使用Django的Client
或RequestFactory
来测试我的视图。Django测试RequestFactory与客户端
我使用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)
什么是Django的Client
和RequestFactory
和哪种方法更适合用于测试REST服务器测试之间的差异(如除了喜欢更好的之外,还有什么不同)?
我应该为两者创建测试以便为我的系统提供更好的覆盖范围吗?
谢谢你的回答。你能举一个例子,说明一个工厂更适合用于测试吗? –
如果您要创建类似于内置['AuthenticationForm'](https://docs.djangoproject.com/en/1.8/topics/auth/default/#django.contrib.auth.forms.AuthenticationForm)的东西, ,它将'request'对象作为第一个参数,您可以使用'RequestFactory'来测试它。 – knbk
我不认为使用'客户端'来测试视图是绝对必要的。我见过使用RequestFactory创建'request'的代码,然后调用'SomeView.as_view()(request)'来获得响应。但是我来到这里是因为我不确定那是做这件事的最好方式。在另一个问题的人说'客户端'更集成测试:http://stackoverflow.com/questions/5777447/test-django-views-that-require-login-using-requestfactory?rq=1 – Andy