int*_*_32 4 django django-testing django-rest-framework
我有一个测试 ( APITestCase),我需要指定自定义标头:
class ListAppsAPITest(APITestCase):
def test_list_apps_versions(self):
response = self.client.get(reverse('api:applications:list'), None, **{'Device-Id': 'deadbeef'})
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的参数组合,但没有奏效。
如何在测试中指定自定义标头?
仅仅因为 Django 有他们自己的方式来定义标头,你可以看看这里,看看为什么以及如何实现这一点。
除了上面给出的 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'})
Run Code Online (Sandbox Code Playgroud)
希望有帮助!
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |