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, come datastore, blobstore e così via, per determinare se la tua applicazione si comporta correttamente quando rileva i vari possibili stati del servizio. Ad esempio, impostando lo stato del servizio del datastore su disattivato, puoi verificare se la tua app gestisce l'interruzione 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 funzionalità in basso a sinistra.
  3. Nella pagina Configurazione dello stato delle 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 su quel 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 Esegui il debug come > Configurazioni di debug.
  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, come segue: Dcapability.status.datastore_v3.write. Per le altre funzionalità, lascia l'asterisco come mostrato.

    L'acquisizione dello schermo 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 nella 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 di immagini
mail POSTA Il servizio postale
memcache MEMCACHE Il servizio memcache
taskqueue TASKQUEUE Il servizio taskqueue
urlfetch URLFETCH Il servizio urlfetch

Valori dello stato della funzionalità

Valori di stato per tutte le funzionalità Descrizione
DISABLED La funzionalità è disattivata.
ENABLED La funzionalità è disponibile e al momento non è prevista alcuna manutenzione.
SCHEDULED_MAINTENANCE La funzionalità è disponibile, ma è in programma 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à dei servizi locali nell'API, utilizza la classe LocalCapabilitiesServiceTestConfig. Per ulteriori informazioni e un esempio di codice, consulta Scrivere test delle funzionalità di Servizi locali.