我正在使用Rest框架为Django及其APIRequestFactory运行一个APITestCase。 当我用APIClient请求这个api时,我能够返回一个状态200,但是我用APIRequestFactory得到了404。我想使用APIRequestFactory,因为它在APIClient上的测试中具有“黑盒”效应。在
我已经根据force_authenticate的REST框架文档对我的测试进行了建模。它似乎与APIRequestFactory返回HTTPRequest而不是this question中的请求的问题无关。在
进口:
from rest_framework.test import APIClient, APITestCase, APIRequestFactory
from myapp.factories import UserFactory
from .views import internalPostListView
使用成功获取的APIClient进行测试(返回状态200):
^{pr2}$使用找不到api的APIRequestFactory进行测试(返回状态404):
class PostTests(APITestCase):
@classmethod
def setUpTestData(cls):
cls.factory = APIRequestFactory()
cls.user = UserFactory()
def test_successful_get_internal_post_list(self):
self.user.is_superuser = True
view = internalPostListView #Note: internalPostListView = InternalPostListView.as_view()
request = self.factory.get('/internal/posts/')
force_authenticate(request, user = self.user)
response = view(request)
self.assertEquals(200, response.status_code)
它无法获取api,而不是身份验证或权限问题。它似乎与我的文件相符-我遗漏了什么?在
目前没有回答
相关问题 更多 >
编程相关推荐