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:
- Con l'app in esecuzione sul server di sviluppo, accedi alla console visitando l'URL
/_ah/adminsul server, ad esempio: http://localhost:8888/_ah/admin. - Nella console, fai clic su Stato delle funzionalità in basso a sinistra.
- 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
- Con Eclipse aperto, seleziona il progetto, fai clic con il tasto destro del mouse e poi seleziona Debug As > Debug Configurations.
- Vai alla scheda Arguments (Argomenti) e inserisci l'opzione che preferisci nella casella di testo VM arguments (Argomenti VM). Il formato dell'opzione è
, dove-Dcapability.status.capabilityname.*=statusnamecapabilitynameviene sostituito dal nome del servizio (vedi Nomi delle funzionalità (servizi)) estatusnameviene sostituito dallo stato della funzionalità che vuoi utilizzare (vedi Valori dello stato della funzionalità).Nota:per la funzionalità di scrittura del datastore, sostituisci
capabilitynamecondatastore_v3e l'asterisco (*) conwrite, 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:

- Fai clic su Applica per salvare le modifiche.
- 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.