0

我還沒有找到一種方法來自動測試我的應用程序的REST方法,同時使用setUp和tearDown方法來保留每個測試的唯一性。如何在App Engine中測試REST方法?

gaetestbed給我一個乾淨的數據存儲在測試之間。 httplib2允許我輕鬆調用REST方法並解析其響應;但爲了這樣做,我的應用程序的本地實例必須在端口8080上運行並調用每個測試。這違背了數據存儲刷新類似於數據存儲的目的,因爲數據保存在調用之間。

我可以開始和停止的setUp拆卸方法中的GAE服務器,但這似乎浪費和費時。有沒有更好的辦法?

回答

3

使用gaetestbed,或者你自己的單元測試代碼像this,乾脆直接實例化處理類,用嘲笑/僞造環境字典,並調用方法(初始化()和get()/郵寄()/等在webapp的情況下)直接。

+0

謝謝尼克! – 2010-12-07 02:59:52

0

在使用REST方法進行功能測試時,我們最終編寫了幫助程序調用以清除內部緩存並強制引擎與數據庫同步。

我還沒有用過gaetestbed,但是我原以爲你可以在測試之間flush the datastore

"Use case: develop and test locally with real data 
Restore to: your local development server. 
Once you have restored the data to your local development server, I would highly suggest that you take a backup of your datastore. 
You can find your datastore files in a temporary folder on your local machine (e.g., on my Mac, it's /var/folders/bz/bzDU030xHXK-jKYLMXnTzk+++TI/-Tmp-/). To find the folder on your own machine, flush the datastore (./manage.py flush) and you will see the path to your datastore folder printed in the resulting output."