我有一个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)
在这里,我试图为这个文件编写一个测试用例。
test_file.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)
目前没有回答
相关问题 更多 >
编程相关推荐