/ / Django Rest Frameworkキャメルケース-パーサーを使用しないテスト-django、django-rest-framework

Django Rest Framework Camel Case - パーサーを使用しないテスト - django、django-rest-framework

私はDjangoでシンプルなREST APIを使用していますrest_framework。私はdjangorestframework-camel-caseプラグインを追加し、REST_FRAMEWORK構成を更新しました。RESTAPIは適切なcamelCaseを出力します。ただし、unittest(python manage.py test app.test)、結果はcamelCaseではなくsnake_caseにあり、アサーションが失敗します。

このフォークを使用する: 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",
}

追加の構成を追加する必要がありますか?これはdjangorestframeworkのバグですか? djangorestframework-camel-case?

回答:

回答№1は1

問題はテストファイルにある可能性があります。

テストで次のような行があるとします。

client = APIClient() response = client.get("some_url", format="json")

応答オブジェクトには data snake_caseとなるパラメータ、および content キャメルケースになります。

response.data # will contain snake_case keys json.loads(response.content) # will contain camelCase keys

正しい応答パラメーターに対してアサーションを実行していることを確認してください。