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 stati possibili 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:
- 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. - Nella console, fai clic su Stato funzionalità in basso a sinistra.
- 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
- Con Eclipse aperto, seleziona il progetto, fai clic con il tasto destro del mouse e poi seleziona Esegui il debug come > Configurazioni di debug.
- Vai alla scheda Argomenti e inserisci l'opzione che preferisci nella casella di testo Argomenti VM. Il formato dell'opzione è
-Dcapability.status.capabilityname.*=statusname
capabilityname
viene sostituito dal nome del servizio (vedi Nomi delle funzionalità (servizi)) estatusname
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
condatastore_v3
e l'asterisco (*
) conwrite
, 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:
- 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 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.