小编mon*_*bot的帖子

我如何正确地将参数传递给基于类的视图测试 Django Rest Framework?

我想测试 DRF 项目中的一些视图。

当我尝试检查 url 中包含参数的视图时,问题就出现了。

urls.py

    url(r'^(?Pcompany_hash>[\d\w]+)/(?Ptimestamp>[\.\d]*)/employees/$',
        EmployeeList.as_view(), name='employeelist'),

[编辑:网址中的“<”已被有意删除,只是它不被视为标签,因此未显示]

视图.py

    类 EmployeeList(ListCreateAPIView):
        序列化器类 = EmployeeDirectorySerializer

        def 内部公司(自身):
            company_hash = self.kwargs['company_hash']
            返回 get_company(company_hash)

        def get_queryset(self):
            return Employee.objects.filter(company=self.inner_company())

测试.py

类 ApiTests(APITestCase):
    def 设置(自身):
        self.factory = APIRequestFactory()
        self.staff = mommy.make('directory.Employee', user__is_staff=True)
        self.employee = mommy.make('目录.Employee')

        self.hash = self.employee.company.company_hash

    def getResponse(self, url, myView, kwargs):
        视图 = myView.as_view()
        请求 = self.factory.get(url, kwargs)

        force_authenticate(请求,用户=用户)

        响应=查看(请求)
        返回响应

    def test_EmployeeList(self):
        kwargs = {'时间戳':0,'company_hash':self.hash}
        url = 反向('employeelist', kwargs=kwargs)
        测试视图 = 员工列表

        响应= self.getResponse(url,testedView,
                kwargs = kwargs)
        self.assertEqual(响应.status_code, 200) …

python testing django django-rest-framework

7
推荐指数
2
解决办法
3575
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1

testing ×1