3

我想写一些单元测试,其中包括需要读取 blobstore 文件

如何编写一个单元测试setUp,将一些文件放在testbed blobstore 中,以便以这种方式读取:

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

编辑:

我没有寻找测试文件 API的方法,我想在测试用例设置阶段将一些任意数据放入测试平台 blobstore 存储中,这样我就可以针对这些数据运行测试。

4

1 回答 1

5

您可以将以下内容添加到您的 setUp 方法中,并可能将其存储起来blob_keyself.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,这与文档中的描述完全相同:

于 2012-06-03T21:56:19.700 回答