python – 具有版本控制的DRF测试视图:版本化URL检索
发布时间:2020-12-20 13:11:59 所属栏目:Python 来源:网络整理
导读:我之前为我的观点创建了一些测试.像那样 class TestUserRegistrationViewUserCreate(APITestCase):def setUp(self): self.factory = APIRequestFactory()def test_create_user(self): data = { 'phone_number': '+79513332211','password': 'qwerty' } reque
我之前为我的观点创建了一些测试.像那样
class TestUserRegistrationViewUserCreate(APITestCase): def setUp(self): self.factory = APIRequestFactory() def test_create_user(self): data = { 'phone_number': '+79513332211','password': 'qwerty' } request = self.factory.post(reverse('user'),data=data) response = CustomUserAPIView.as_view()(request) self.assertEqual(response.status_code,status.HTTP_201_CREATED) 一切都很顺利,直到我被要求添加API版本. DRF支持本机版本http://www.django-rest-framework.org/api-guide/versioning/ REST_FRAMEWORK = { 'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.NamespaceVersioning' } 现在我需要重写我的视图单元测试以支持版本控制. 这个问题是为了通过反向获取版本化的url,我必须使用 from rest_framework.reverse import reverse reverse('bookings-list',request=request) 就像在docs. 但是我在测试中没有请求对象,因为我自己创建了一个请求对象并且需要使用版本化的url. 我该怎么办? 附:我可以在不使用DRF的情况下实现版本控制,使用视图装饰器和一些utils函数来解决这个问题,但是当我重新发明轮子时,这对我来说感觉不好.另外,我也可能会忘记一些边缘情况. 解决方法
我在测试用例中使用了反向(‘< VERSION>:< VIEW_NAME>‘).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |