如何在Django测试环境中模拟GoogleAppClient

2024-05-23 13:56:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在django单元测试中模拟googleapiclient.discovery,我查看了这个post如何显示如何模拟googleapiclient.discovery,所以我尝试了以下方法:

...
@mock.patch("myapp.views.googleapiclient.discovery")
def test_get_instances(self, mock_discovery):
    mock_discovery.build.return_value.service.return_value.instances.return_value.aggregatedList.return_value = {# some mock values}
...

这给出了一个“模块未找到错误”,说明“myapp.views”不是一个包

有问题的views.py位于Django应用程序的标准位置:mysite/myapp/views.py

views.py:

...
from googleapiclient import discovery

def get_instances(proj_id, servicekey)
    service = discovery.build('compute','v1', credentials=generate_credentials(servicekey))
    request = service.instances().aggregatedList(project=project_id)
...

我对嘲弄还不熟悉,所以任何建议都欢迎


Tags: instancespybuildidgetreturnvaluedef