我如何为我的单元测试模拟 google 云存储功能? (Python)
How do I mock google cloud storage functions for my unittest ? (Python)
以下是我要进行单元测试的函数:
def scraper(bucket_name,bucket_prefix):
client = storage.Client()
prefix_files = list(client.list_blobs(bucket_name,max_results = 700,page_token=None,prefix=bucket_prefix,delimiter='/'))
return prefix_files
因为我想在没有任何依赖项或互联网的情况下单独进行单元测试,所以我想模拟 google 云客户端对象及其 list_blobs 的功能。这是对这个函数进行单元测试的正确方法吗?如果是这样,我该如何嘲笑上述内容?如果没有,你们还有什么其他建议?我知道如何创建一个模拟对象,但我不确定如何在我的上下文中实现一个。谢谢。
我已经设法找到了我自己的问题的答案,它基本上使用了补丁(下面的伪代码):
@patch("yourfile.storage.Client")
def testingfunc(self,mockClient):
call your original functions
use assert statement with your mockClient
以下是我要进行单元测试的函数:
def scraper(bucket_name,bucket_prefix):
client = storage.Client()
prefix_files = list(client.list_blobs(bucket_name,max_results = 700,page_token=None,prefix=bucket_prefix,delimiter='/'))
return prefix_files
因为我想在没有任何依赖项或互联网的情况下单独进行单元测试,所以我想模拟 google 云客户端对象及其 list_blobs 的功能。这是对这个函数进行单元测试的正确方法吗?如果是这样,我该如何嘲笑上述内容?如果没有,你们还有什么其他建议?我知道如何创建一个模拟对象,但我不确定如何在我的上下文中实现一个。谢谢。
我已经设法找到了我自己的问题的答案,它基本上使用了补丁(下面的伪代码):
@patch("yourfile.storage.Client")
def testingfunc(self,mockClient):
call your original functions
use assert statement with your mockClient