Я использую AcceptHeaderVersioning с каркасом отдыха Django, как описано здесь:
https://www.django -rest-framework.org / api-guide / versioning / # versioning-with-rest-framework
Я хочу проверить, что API возвращает версию по умолчанию, если версия не указана, но верная версия, когда она есть.Но, кажется, невозможно передать параметр версии в тест.Вот пример:
def testCheckVersion(self):
versions = [u'v0.1', u'v0.2']
self.key = APIKey(name='Example Key')
self.key.save()
for version in versions:
response = self.client.get('/api/data/',
VERSION="{0}".format(version),
**{'Api-Key': self.key.key})
self.assertEqual(response.status_code, 200)
content = json.loads(response.content)
self.assertEqual(content['api_version'], version)
Это всегда дает версию API по умолчанию (в данном случае v0.2).Я пробовал разные способы переделки линии response =
, но безуспешно.Возможно, это можно исправить, используя вместо этого QueryParameterVersioning, но я бы предпочел этого не делать, поэтому, пожалуйста, дайте мне знать, если у вас есть какие-либо предложения.