此功能測試設計旨在測試 App Engine 開發網路伺服器的執行。這項測試可讓您變更 Datastore、Blobstore 等服務的狀態,以判斷您的應用程式在遇到服務的各種可能狀態時是否能正常運作。例如,您可以將 Datastore 服務狀態改為停用,藉此測試您的應用程式是否能以安全的方式處理 Datastore 無法使用的狀況。
下列幾種方式可使用這項測試功能:
使用主控台變更功能狀態
如要使用主控台變更功能:
- 在應用程式已在開發伺服器上執行的情況下,在伺服器上前往
/_ah/admin
網址來存取主控台,例如:http://localhost:8888/_ah/admin。 - 在主控台中,按一下主控台左下方的 [Capabilities Status]。
- 在「Capabilities Status Configuration」頁面中,找出您的應用程式所使用以及您要變更的服務;按一下服務名稱旁的下拉式選單,選取您要在該服務上測試的狀態。
下次您的應用程式存取服務時,服務會反映您在此時已選擇的設定。執行您的應用程式並觀察騎行為。
使用指令列變更功能狀態
如果您使用 Eclipse,則可以使用偵錯指令列選項來設定一或多項功能。
如要使用 Eclipse 中的 VM 指令列引數來變更功能設定
- 在開啟 Eclipse 後,選取您的專案並按一下滑鼠右鍵,然後選取 [Debug As] > [Debug Configurations]。
- 前往「Arguments」分頁,在「VM arguments」文字方塊中輸入所需的選項。選項的格式為:
-Dcapability.status.capabilityname.*=statusname
capabilityname
會替換為服務名稱 (請參閱「功能 (服務) 名稱」),statusname
會替換為您要使用的功能狀態 (請參閱「功能狀態值」)。注意:如要使用資料儲存庫寫入功能,請將
capabilityname
替換為datastore_v3
,並將星號 (*
) 替換為write
,例如:Dcapability.status.datastore_v3.write
。針對其他功能,請保留所示的星號。以下擷取螢幕畫面顯示透過指令列停用的兩項功能 (Datastore 和 Images):
- 按一下 [Apply] 儲存變更
- 按一下 [Debug] 使用這些設定執行您的應用程式。
功能 (服務) 名稱
在 API 中的功能名稱 | 主控台顯示的功能名稱 | 說明 |
---|---|---|
blobstore |
BLOBSTORE | Blobstore 服務 |
datastore_v3 |
DATASTORE | 用於查詢的 Datastore 服務 |
datastore_v3,write |
DATASTORE_WRITE | 用於寫入要求的 Datastore 服務 |
images |
IMAGES | Images 服務 |
mail |
Mail 服務 | |
memcache |
MEMCACHE | Memcache 服務 |
taskqueue |
TASKQUEUE | Taskqueue 服務 |
urlfetch |
URLFETCH | Urlfetch 服務 |
功能狀態值
所有功能適用的狀態值 | 說明 |
---|---|
DISABLED |
功能已停用。 |
ENABLED |
功能可以使用,而且目前沒有維護的計劃。 |
SCHEDULED_MAINTENANCE |
功能可以使用,但是已排定維護的計劃。 |
UNKNOWN |
該服務的狀態不明。 |
使用 Capabilities API 變更功能
如要在 API 中使用本機服務功能測試,請使用 LocalCapabilitiesServiceTestConfig 類別。如需詳情與程式碼範例,請參閱「撰寫本機服務功能測試」。