如何在 python 中修补 google.cloud.storage
How to patch google.cloud.storage in python
我有一个 class 导入 google 云:
StorageUtils:
from google.cloud import storage
我有一个使用 StorageUtils 的应用程序:
应用程序:
import StorageUtils
然后我有一个测试,我想测试我的应用程序
测试:
from app import App
我想在不使用 google 云的情况下测试我的应用程序。我发现最简单的方法是使用 sys.modules:
import sys
from unittest.mock import MagicMock
sys.modules["google.cloud.storage"] = MagicMock()
我发现这个解决方案非常有效。还有其他使用 python mock 的方法吗?
在这种情况下,如果包含 class StorageUtils 的文件被调用 storage_utils.py:
#test_storage.py
@patch("storage_utils.storage")
def test_storage(st):
storage = StorageUtils()
我有一个 class 导入 google 云:
StorageUtils:
from google.cloud import storage
我有一个使用 StorageUtils 的应用程序:
应用程序:
import StorageUtils
然后我有一个测试,我想测试我的应用程序
测试:
from app import App
我想在不使用 google 云的情况下测试我的应用程序。我发现最简单的方法是使用 sys.modules:
import sys
from unittest.mock import MagicMock
sys.modules["google.cloud.storage"] = MagicMock()
我发现这个解决方案非常有效。还有其他使用 python mock 的方法吗?
在这种情况下,如果包含 class StorageUtils 的文件被调用 storage_utils.py:
#test_storage.py
@patch("storage_utils.storage")
def test_storage(st):
storage = StorageUtils()