我想写一些单元测试,其中包括需要读取 blobstore 文件
如何编写一个单元测试setUp,将一些文件放在testbed blobstore 中,以便以这种方式读取:
blob_info = BlobInfo(blob_key)
reader = BlobReader(blob_info)
reader.readline()
编辑:
我没有寻找测试文件 API的方法,我想在测试用例设置阶段将一些任意数据放入测试平台 blobstore 存储中,这样我就可以针对这些数据运行测试。
我想写一些单元测试,其中包括需要读取 blobstore 文件
如何编写一个单元测试setUp,将一些文件放在testbed blobstore 中,以便以这种方式读取:
blob_info = BlobInfo(blob_key)
reader = BlobReader(blob_info)
reader.readline()
编辑:
我没有寻找测试文件 API的方法,我想在测试用例设置阶段将一些任意数据放入测试平台 blobstore 存储中,这样我就可以针对这些数据运行测试。
您可以将以下内容添加到您的 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 是指from google.appengine.ext import testbed并且self.testbed是 testbed 实例。
使用 init_files_stub,这与文档中的描述完全相同: