バックエンドがDjango RESTフレームワークを使用して実装されているWebアプリケーションを構築しました。今は単体テストを書いていますが、私はシリアライザのメソッドをテストする際に問題に遭遇しました。ここで私はに苦しんだシリアライザ方法の一例は次のとおりです。Django REST Framework - シリアライザテストでリクエストを設定しますか?
def get_can_edit(self, obj):
request = self.context.get('request')
user = User.objects.get(username=request.user)
return user == obj.admin
テストからこれを呼び出そうとすると、最初に私は、シリアライザのインスタンスを宣言:
self.serializer = ConferenceSerializer()
しかし、今、私は必要get_can_edit
がself.context.get('request')
の場合は、self.serializer
に正しい要求があります。私はRequestFactoryを使用して、正しい情報と偽物の要求を作成しました:私はself.context.get('request')
がrequest1
を返しますようserializer
にrequest1
を追加する方法がわからないですので
self.request1 = RequestFactory().get('./fake_path')
self.request1.user = self.user1
は、今私はこだわっています。
ありがとうございました。
これは機能しました - ありがとうございました! – Tom