我想测试 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) …