功能服務測試設定

此功能測試設計旨在測試 App Engine 開發網路伺服器的執行。這項測試可讓您變更 Datastore、Blobstore 等服務的狀態,以判斷您的應用程式在遇到服務的各種可能狀態時是否能正常運作。例如,您可以將 Datastore 服務狀態改為停用,藉此測試您的應用程式是否能以安全的方式處理 Datastore 無法使用的狀況。

下列幾種方式可使用這項測試功能:

使用主控台變更功能狀態

如要使用主控台變更功能:

  1. 在應用程式已在開發伺服器上執行的情況下,在伺服器上前往 /_ah/admin 網址來存取主控台,例如:http://localhost:8888/_ah/admin
  2. 在主控台中,按一下主控台左下方的 [Capabilities Status]
  3. 在「Capabilities Status Configuration」頁面中,找出您的應用程式所使用以及您要變更的服務;按一下服務名稱旁的下拉式選單,選取您要在該服務上測試的狀態。

下次您的應用程式存取服務時,服務會反映您在此時已選擇的設定。執行您的應用程式並觀察騎行為。

使用指令列變更功能狀態

如果您使用 Eclipse,則可以使用偵錯指令列選項來設定一或多項功能。

如要使用 Eclipse 中的 VM 指令列引數來變更功能設定

  1. 在開啟 Eclipse 後,選取您的專案並按一下滑鼠右鍵,然後選取 [Debug As] > [Debug Configurations]
  2. 前往「Arguments」分頁,在「VM arguments」文字方塊中輸入所需的選項。選項的格式為:

    -Dcapability.status.capabilityname.*=statusname

    其中 capabilityname 會替換為服務名稱 (請參閱「功能 (服務) 名稱」),statusname 會替換為您要使用的功能狀態 (請參閱「功能狀態值」)。

    注意:如要使用資料儲存庫寫入功能,請將 capabilityname 替換為 datastore_v3,並將星號 (*) 替換為 write,例如:Dcapability.status.datastore_v3.write。針對其他功能,請保留所示的星號。

    以下擷取螢幕畫面顯示透過指令列停用的兩項功能 (Datastore 和 Images):

  3. 按一下 [Apply] 儲存變更
  4. 按一下 [Debug] 使用這些設定執行您的應用程式。

功能 (服務) 名稱

在 API 中的功能名稱 主控台顯示的功能名稱 說明
blobstore BLOBSTORE Blobstore 服務
datastore_v3 DATASTORE 用於查詢的 Datastore 服務
datastore_v3,write DATASTORE_WRITE 用於寫入要求的 Datastore 服務
images IMAGES Images 服務
mail MAIL Mail 服務
memcache MEMCACHE Memcache 服務
taskqueue TASKQUEUE Taskqueue 服務
urlfetch URLFETCH Urlfetch 服務

功能狀態值

所有功能適用的狀態值 說明
DISABLED 功能已停用。
ENABLED 功能可以使用,而且目前沒有維護的計劃。
SCHEDULED_MAINTENANCE 功能可以使用,但是已排定維護的計劃。
UNKNOWN 該服務的狀態不明。

使用 Capabilities API 變更功能

如要在 API 中使用本機服務功能測試,請使用 LocalCapabilitiesServiceTestConfig 類別。如需詳情與程式碼範例,請參閱「撰寫本機服務功能測試」。