我有一个测试(APITestCase
),我需要指定自定义标头:
class ListAppsAPITest(APITestCase):
def test_list_apps_versions(self):
response = self.client.get(reverse('api:applications:list'), None, **{'Device-Id': 'deadbeef'})
我尝试了不同的参数组合,但是没有用。
如何在测试中指定自定义标头?
答案 0 :(得分:1)
仅仅是因为Django有他们自己的方式来定义标头,所以您可以看看here来了解为什么以及如何实现它。
除上面给出的CONTENT_LENGTH和CONTENT_TYPE外,通过将所有字符都转换为大写字母,用下划线替换所有连字符,并在名称中添加HTTP_前缀,将请求中的所有HTTP标头都转换为META键。因此,例如,一个名为X-Bender的标头将被映射到META键HTTP_X_BENDER。
您的情况如下:
class ListAppsAPITest(APITestCase):
def test_list_apps_versions(self):
response = self.client.get(reverse('api:applications:list'), None, **{'HTTP_DEVICE_ID': 'deadbeef'})
希望有帮助!