Configurazione del test del servizio Capabilities

La funzionalità di test delle funzionalità è progettata per essere eseguita sul server web di sviluppo di App Engine a scopo di test. Ti consente di modificare lo stato dei servizi, ad esempio datastore, blobstore e così via, per determinare se la tua applicazione si comporta correttamente quando rileva i vari stati possibili del servizio. Ad esempio, modificando lo stato del servizio datastore in disabilitato, puoi verificare se la tua app gestisce l'indisponibilità del datastore in modo corretto.

Esistono diversi modi per utilizzare la funzionalità di test delle funzionalità:

Modificare lo stato delle funzionalità utilizzando la console

Per modificare le funzionalità nella console:

  1. Con l'app in esecuzione sul server di sviluppo, accedi alla console visitando l'URL /_ah/admin sul server, ad esempio: http://localhost:8888/_ah/admin.
  2. Nella console, fai clic su Stato delle funzionalità in basso a sinistra.
  3. Nella pagina Configurazione stato funzionalità, individua il servizio o i servizi utilizzati dalla tua app e di cui vuoi modificare lo stato; fai clic sul menu a discesa accanto al nome del servizio e seleziona lo stato che vuoi testare sul servizio:

La prossima volta che l'app accederà ai servizi, questi rifletteranno le impostazioni che hai scelto. Esegui l'app e osserva il suo comportamento.

Modificare lo stato delle funzionalità utilizzando la riga di comando

Se utilizzi Eclipse, puoi impostare una o più funzionalità utilizzando le opzioni della riga di comando di debug.

Per modificare le impostazioni delle funzionalità utilizzando gli argomenti della riga di comando della VM in Eclipse

  1. Con Eclipse aperto, seleziona il progetto, fai clic con il tasto destro del mouse e poi seleziona Debug As > Debug Configurations.
  2. Vai alla scheda Arguments (Argomenti) e inserisci l'opzione che preferisci nella casella di testo VM arguments (Argomenti VM). Il formato dell'opzione è

    -Dcapability.status.capabilityname.*=statusname

    , dove capabilityname viene sostituito dal nome del servizio (vedi Nomi delle funzionalità (servizi)) e statusname viene sostituito dallo stato della funzionalità che vuoi utilizzare (vedi Valori dello stato della funzionalità).

    Nota:per la funzionalità di scrittura del datastore, sostituisci capabilityname con datastore_v3 e l'asterisco (*) con write, in questo modo: Dcapability.status.datastore_v3.write. Per le altre funzionalità, lascia l'asterisco così com'è.

    L'acquisizione dello schermo riportata di seguito mostra due funzionalità (datastore e immagini) disattivate dalla riga di comando:

  3. Fai clic su Applica per salvare le modifiche.
  4. Fai clic su Debug per eseguire l'app con queste impostazioni.

Nomi delle funzionalità (servizi)

Nome della funzionalità nell'API Nome della funzionalità visualizzato in Console Descrizione
blobstore BLOBSTORE Il servizio blobstore
datastore_v3 DATASTORE Il servizio datastore per le query
datastore_v3,write DATASTORE_WRITE Il servizio datastore per le richieste di scrittura
images IMMAGINI Il servizio Immagini
mail POSTA Il servizio postale
memcache MEMCACHE Il servizio memcache
taskqueue TASKQUEUE Il servizio taskqueue
urlfetch URLFETCH Il servizio urlfetch

Valori di stato della funzionalità

Valori di stato per tutte le funzionalità Descrizione
DISABLED La funzionalità è disattivata.
ENABLED La funzionalità è disponibile e al momento non è pianificata alcuna manutenzione.
SCHEDULED_MAINTENANCE La funzionalità è disponibile, ma è programmata per la manutenzione.
UNKNOWN Lo stato di questo servizio è sconosciuto.

Modificare lo stato delle funzionalità utilizzando l'API Capabilities

Per utilizzare la funzionalità di test delle funzionalità del servizio locale nell'API, utilizza la classe LocalCapabilitiesServiceTestConfig. Per ulteriori informazioni e un esempio di codice, consulta Scrittura di test delle funzionalità di Servizi locali.