Jan*_*zny 3 python google-app-engine unit-testing blobstore
我喜欢写一些单元测试,其中包括需要读取blobstore文件
如何编写一个单元测试setUp,将一些文件放在testbed blobstore中,这样就可以这样读取:
blob_info = BlobInfo(blob_key)
reader = BlobReader(blob_info)
reader.readline()
Run Code Online (Sandbox Code Playgroud)
编辑:
我不寻找一种测试文件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)
Run Code Online (Sandbox Code Playgroud)
请注意,testbed引用from google.appengine.ext import testbed并且self.testbed是testbed实例.
使用init_files_stub,这与docs中描述的完全相同: