如何模拟Googleas以用python编写单元测试?

如何模拟Googleas以用python编写单元测试?,python,unit-testing,mocking,python-unittest,Python,Unit Testing,Mocking,Python Unittest,我有一个python脚本,我想为该文件编写测试用例,但是我使用的是googleads库,我对如何模拟googleads库的unittest用例感到困惑。下面是python文件: from dateutil.relativedelta import relativedelta from modules.db_models import Campaigns from modules.utils import * class campaign_util: def _pause_campai

我有一个python脚本,我想为该文件编写测试用例,但是我使用的是googleads库,我对如何模拟googleads库的unittest用例感到困惑。下面是python文件:

from dateutil.relativedelta import relativedelta
from modules.db_models import Campaigns
from modules.utils import *

class campaign_util:

    def _pause_campaign(self, client, campaign_id):
        # Initialize appropriate service.
        campaign_service = client.GetService('CampaignService', version='v201809')

        # Construct operations and update campaign.
        operations = [{
            'operator': 'SET',
            'operand': {
                'id': campaign_id,
                'status': 'PAUSED'
            }
        }]

        result = campaign_service.mutate(operations)
        print(result)
在这里,我试图为这个文件编写一个测试用例。
测试文件.py

from __future__ import absolute_import
import unittest
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

from modules.db_models import Campaigns
from modules.campaign_util import campaign_util
from unittest.mock import Mock

mock = Mock()
print('hiii',mock.dumps())

class test_campaign_util(unittest.TestCase):

    @mock.patch('path_to_module.AdWordsClient',autospec=True)
    @mock.patch('path_to_module.GoogleRefreshTokenClient',autospec=True)
    @mock.patch('modules.campaign_util.campaign_id')
    def test_pause_campaign(self,client,campaign_id):
        campaign_service = client.GetService.assert_called_with('CampaignService',version='v201809')
        campaign_service = mock.Mock()
        test_operation = []
        self.assertEqual(test_operation,['operator','operand'])
        return result
我试过在别处搜索,但没能得出结论。如果我遗漏了什么,请指出

以下是回溯:

Traceback (most recent call last):
  File "/usr/lib/python3.7/unittest/mock.py", line 1255, in patched
    return func(*args, **keywargs)
  File "/home/mayureshk/PycharmProjects/adassist_bnt/venv/test/test_campaign_util.py", line 17, in test_pause_campaign
    campaign_service = client.GetService.assert_called_with('CampaignService',version='v201809')
  File "/usr/lib/python3.7/unittest/mock.py", line 864, in assert_called_with
    raise AssertionError('Expected call: %s\nNot called' % (expected,))
AssertionError: Expected call: GetService('CampaignService', version='v201809')
Not called

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (failures=1)

您的单元测试是否有任何错误信息?是:它显示“失败:测试\u暂停\u活动(测试\u活动\u util.测试\u活动\u util)”@slideshowp2您的单元测试是否有任何错误信息?是:它显示“失败:测试\u暂停\u活动(测试\u活动\u util.测试\u活动\u util)”@slideshowp2