小编Dan*_*tas的帖子

模拟修补类方法不起作用

我将 Django 与 DRF 和 python 模拟一起使用。我想做的是测试我的视图并模拟序列化器和一些方法。

这就是我所拥有的:

views.py

from gmm_mobile.v1.serializers import RegisterParticipationSerializer
from gmm_mobile.v1.exceptions import GameOrCampaignDoesNotExist
from gmm_util.header import Header
from gmm_util.response import ResponseUtils
from gmm_util.permissions import MobileTokenPermission
from gmm_util.permissions import MobileTokenAuthentication

class ParticipantViewMobile(APIView):
    permission_classes = (MobileTokenPermission, )
    authentication_classes = (MobileTokenAuthentication, )

    def post(self, request, service_id, campaign_id):
        try:
            environment_info = Header.get_environment_info(request)

            request.data[Field.GAME_SERVICE_ID] = service_id
            request.data[Field.CAMPAIGN] = campaign_id
            request.data[Field.LOCATION] = environment_info

            participation_serializer = RegisterParticipationSerializer(data=request.data)
            participation_serializer.is_valid(raise_exception=True)
            participation_serializer.save()

            return ResponseUtils.created()
        except Http404:
            raise GameOrCampaignDoesNotExist()
Run Code Online (Sandbox Code Playgroud)

serializers.py

from gmm_mobile.v1.serializers import RegisterParticipationSerializer
from gmm_mobile.v1.exceptions import …
Run Code Online (Sandbox Code Playgroud)

python django django-unittest python-mock django-rest-framework

5
推荐指数
1
解决办法
1266
查看次数