在有关嘲弄的python文档中指出:
在您开发和测试应用程序时,最好将实际的API响应保存在文件中,如books good y.json或books android.json,以便在测试中使用。
我从哪弄到这些json的?特别是模拟build()命令的响应。
编辑:
我想测试的类,calendar.py:
from google.oauth2 import service_account
from googleapiclient.discovery import build
class Calendar:
def __init__(self, credentials_file, calendar_id) -> None:
credentials = service_account.Credentials.from_service_account_file(
credentials_file, scopes=["https://www.googleapis.com/auth/calendar"]
)
self.service = build("calendar", "v3", credentials=credentials)
self._id = calendar_id
如何检索构建的json响应以保存在calendar-discovery.json
中
修改类以简化模拟
import google_auth_httplib2
from google.oauth2 import service_account
from googleapiclient.discovery import build
from googleapiclient.http import build_http
class Calendar:
def __init__(self, credentials_file, calendar_id) -> None:
credentials = service_account.Credentials.from_service_account_file(
credentials_file, scopes=["https://www.googleapis.com/auth/calendar"]
)
http = google_auth_httplib2.AuthorizedHttp(credentials, http=build_http())
self.service = build("calendar", "v3", http=http)
self._id = calendar_id
测试:
def test_calendar_initialization(mocker):
mock = mocker.patch("meal_planner.calendar.build_http")
mock.return_value = HttpMock("calendar-discovery.json", {"status": 200})
calendar = Calendar(credentials_file="credential.json", calendar_id="id")
发布于 2022-03-02 18:49:06
"name": "calendar"
"discoveryRestUrl": "https://calendar-json.googleapis.com/$discovery/rest?version=v3"
https://stackoverflow.com/questions/71104201
复制相似问题