我想写一些单元测试,其中包括read a blobstore file
如何编写一个单元测试setUp
,将一些文件放在testbed blobstore中,以便以这种方式读取它:
blob_info = BlobInfo(blob_key)
reader = BlobReader(blob_info)
reader.readline()
修改
我不寻找测试files API的方法,我想在测试用例setUp阶段中将一些任意数据放在testbed blobstore存储中,这样我就可以针对这些数据运行测试。
答案 0 :(得分:6)
您可以将以下内容添加到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,这与docs:
中描述的完全相同