Den*_*din 5 django django-rest-framework
我在 Django 中使用 rest_framework 有一个简单的 REST API。我添加了 djangorestframework-camel-case 插件并更新了我的 REST_FRAMEWORK 配置和 REST API 输出正确的驼峰案例。但是,当我使用 unittest ( python manage.py test app.test) 进行测试时,结果以 snake_case 而不是 camelCase 形式显示,并导致我的断言失败。
使用这个叉子:https : //github.com/rense/djangorestframework-camel-case
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.DjangoModelPermissions',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend', 'rest_framework.filters.OrderingFilter'),
'DEFAULT_RENDERER_CLASSES': ('djangorestframework_camel_case.render.CamelCaseJSONRenderer',),
'DEFAULT_PARSER_CLASSES': ('djangorestframework_camel_case.parser.CamelCaseJSONParser',),
'TEST_REQUEST_RENDERER_CLASSES': ('djangorestframework_camel_case.render.CamelCaseJSONRenderer',),
'TEST_REQUEST_PARSER_CLASSES': ('djangorestframework_camel_case.parser.CamelCaseJSONParser',),
'TEST_REQUEST_DEFAULT_FORMAT': 'json',
}
Run Code Online (Sandbox Code Playgroud)
我需要添加一些额外的配置吗?这是 djangorestframework 中的错误吗?在 djangorestframework-camel-case 中?
问题可能出在您的测试文件中。
假设您的测试中有以下内容:
client = APIClient()
response = client.get('some_url', format='json')
响应对象将有一个data参数,该参数将是snake_case,以及一个参数content,该参数将是camelCase。
response.data # will contain snake_case keys
json.loads(response.content) # will contain camelCase keys
确保您针对正确的响应参数运行断言。
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |