我將圖像上傳到GAE中使用create_upload_url如何模擬圖像上傳到Google App Engine的Blob存儲
uploadURL = blobstore.create_upload_url('/upload')
BLOBSTORE爲單位的測試GAE代碼的目的,你可以模擬圖像上傳?或者是否應該將圖像數據插入我的測試平臺並假定上傳成功?如果是這樣,你如何將圖像上傳到測試平臺?
我將圖像上傳到GAE中使用create_upload_url如何模擬圖像上傳到Google App Engine的Blob存儲
uploadURL = blobstore.create_upload_url('/upload')
BLOBSTORE爲單位的測試GAE代碼的目的,你可以模擬圖像上傳?或者是否應該將圖像數據插入我的測試平臺並假定上傳成功?如果是這樣,你如何將圖像上傳到測試平臺?
你能提供一些關於你的測試的代碼嗎?
我認爲你應該能夠使用webapp2僞造對upload_url的請求。有關如何僞造請求的示例代碼,請看看here。
另一方面,你應該考慮你的測試的目的是什麼。上傳完成後,您的目的是測試圖片上傳的工作原理還是代碼的工作原理?
運行單元測試時,嘗試將依賴關係分解到其他庫,以便僅測試您自己的代碼。然後添加一套新的實施測試,即提出請求和網址,並檢查您是否得到預期的響應。與上例中的test_redirect_if_no_session
一樣,向需要用戶的頁面發出請求並期待重定向(http響應代碼302)。
..fredrik
同意就正是你正在測試有@fredrik。無論如何,如果您正在進行一些功能/黑盒/類似測試,您可以簡單地使用Webtest framework(請參閱post
方法),並進行實際上傳,例如,使用Webtest framework(請參閱post
方法)。
payload = [(fieldname, filename)]
test_app.post(uploadURL, upload_files=payload)
有關如何初始化上述test_app的詳細信息,請參閱Handler Testing for Python。
謝謝。看起來我需要編寫兩個測試:i)檢查upload_url正常運行的測試; ii)將圖像插入blobstore以測試我的GAE程序的其他方面。據推測,我可以適應這種方法http://stackoverflow.com/questions/10870968/how-to-simulate-file-upload-to-blobstore-using-gae-dev-server-testbed-for-pytho但我不是100%確定如何適應圖像數據...? – Andrew