编程语言
首页 > 编程语言> > 如何使用GAE dev服务器testbed for python模拟文件上传到blobstore

如何使用GAE dev服务器testbed for python模拟文件上传到blobstore

作者:互联网

我喜欢写一些单元测试,其中需要read a blobstore file

如何编写一个单元测试setUp,它将一些文件放在testbed blobstore中,这样它就可以这样读取:

blob_info = BlobInfo(blob_key)
reader = BlobReader(blob_info)
reader.readline()

编辑:

我不寻找一种方法来测试files API,我想在testb blobstore存储中放置一些任意数据来测试用例setUp阶段,所以我可以针对这些数据运行测试.

解决方法:

您可以将以下内容添加到setUp方法中,也可以将blob_key存储为self.blob_key供以后使用. init_files_stub非常重要,因为它使用内存blobstore初始化文件服务.

self.testbed.init_blobstore_stub()
self.testbed.init_files_stub()
from google.appengine.api import files
file_name = files.blobstore.create(mime_type='application/octet-stream')
with files.open(file_name, 'a') as f:
    f.write('blobdata')
files.finalize(file_name)
blob_key = files.blobstore.get_blob_key(file_name)

请注意,testbed是指google.appengine.ext import testbed,self.testbed是testbed实例.

使用init_files_stub,这与docs中描述的完全相同:

标签:blobstore,python,unit-testing,google-app-engine
来源: https://codeday.me/bug/20190826/1728727.html