2013-01-31 142 views
1

我們正在使用nose-gae的鼻子來測試我們的控制器和模型。我們現在有代碼訪問blob存儲和文件API。由於缺少測試代理/嘲諷,我們正在很難測試這些測試代碼。是否有單元測試這些服務的好方法,或缺少單元測試是否有自動接受測試這些API的方法? TIA。單元測試GAE Blobstore(帶鼻子)

+0

你看過文檔嗎? https://developers.google.com/appengine/docs/python/tools/localunittesting –

+0

當然。按照說明,但沒有多大的幫助。 – rdodev

回答

4

嘗試像這樣的blobstorage測試:

from google.appengine.ext import testbed 
from google.appengine.api.blobstore import file_blob_storage 

testbed.Testbed() 
testbed._blob_storage = file_blob_storage.FileBlobStorage('/tmp/', 'testing') 
testbed.init_blobstore_stub() 
testbed.init_files_stub() 

在我的測試效果很好(雖然我不使用的鼻子,我用WebTest的)。

+1

你,先生,是聖人!一位紳士和一位學者。真正的恩人。 – rdodev

+0

我也使用這個技巧,它很棒。不幸的是,FileBlobStorage已被棄用,所以我們很快就會需要一個新的解決方案。 –

0

我有同樣的問題,所以我挖掘到nosegae代碼,然後到實際的測試牀代碼。

您只需設置nosegae_blobstore = True即可設置所有其他存根。這設置了一個由dict支持的blobstore存根。