Mit dem Funktionstest werden Prüfungen am App Engine Entwicklungswebserver vorgenommen. Dabei können Sie den Status von Diensten wie z. B. Datastore oder Blobstore ändern, um festzustellen, ob sich Ihre Anwendung in dem jeweiligen möglichen Status des Dienstes ordnungsgemäß verhält. Wenn Sie beispielsweise den Datastore-Dienststatus in "Deaktiviert" ändern, können Sie testen, ob Ihre Anwendung die Nichtverfügbarkeit des Datenspeichers korrekt verarbeitet.
Es gibt mehrere Möglichkeiten, den Funktionstest zu nutzen:
Status der Funktionen in der Konsole ändern
So ändern Sie Funktionen in der Konsole:
- Während die Anwendung auf dem Entwicklungsserver ausgeführt wird, öffnen Sie die Konsole über die URL
/_ah/admin
des Servers, zum Beispiel: http://localhost:8888/_ah/admin. - Klicken Sie in der Konsole unten links auf Funktionsstatus.
- Suchen Sie auf der Seite Konfiguration des Funktionsstatus die Dienste, die Ihre Anwendung nutzt und deren Status Sie ändern möchten. Klicken Sie auf das Drop-down-Menü neben dem Dienstnamen und wählen Sie den Status aus, den Sie für diesen Dienst testen möchten:
Beim nächsten Zugriff der Anwendung auf den jeweiligen Dienst arbeitet dieser in dem ausgewählten Status. Führen Sie die Anwendung aus und beobachten Sie ihr Verhalten.
Funktionsstatus über die Befehlszeile ändern
Wenn Sie Eclipse verwenden, können Sie mithilfe der Befehlszeilenoptionen zur Fehlerbehebung eine oder mehrere Funktionen einstellen.
So ändern Sie die Funktionseinstellungen mit VM-Befehlszeilenargumenten in Eclipse:
- Wählen Sie bei geöffnetem Eclipse Ihr Projekt aus, klicken Sie es mit der rechten Maustaste an und wählen Sie im Kontextmenü die Option Fehler beheben als > Konfiguration der Fehlerbehebung.
- Wechseln Sie zur Registerkarte Argumente und geben Sie in das Textfeld VM-Argumente die gewünschte Option ein. Die Option hat das folgende Format:
-Dcapability.status.capabilityname.*=statusname
capabilityname
durch den Dienstnamen (siehe (Dienst)-Namen von Funktionen) undstatusname
durch den Funktionsstatus ersetzt, den Sie verwenden möchten (siehe Funktionsstatuswerte).Hinweis: Ersetzen Sie bei der Datenspeicher-Schreibfunktion
capabilityname
durchdatastore_v3
und das Sternchen (*
) durchwrite
:Dcapability.status.datastore_v3.write
. Lassen Sie das Sternchen bei den anderen Funktionen stehen.Im nachstehenden Screenshot ist zu sehen, dass zwei Funktionen (Datenspeicher und Bilder) über die Befehlszeile deaktiviert wurden:
- Klicken Sie auf Anwenden, um die Änderungen zu speichern.
- Klicken Sie auf Fehler beheben, um die Anwendung mit diesen Einstellungen auszuführen.
(Dienst)-Namen von Funktionen
Funktionsname in der API | In der Konsole angezeigter Funktionsname | Beschreibung |
---|---|---|
blobstore |
BLOBSTORE | Blobstore-Dienst |
datastore_v3 |
DATASTORE | Datenspeicherdienst für Abfragen |
datastore_v3,write |
DATASTORE_WRITE | Datenspeicherdienst für Schreibanfragen |
images |
IMAGES | Bilderdienst |
mail |
E-Mail-Dienst | |
memcache |
MEMCACHE | Memcache-Dienst |
taskqueue |
TASKQUEUE | TaskQueue-Dienst |
urlfetch |
URLFETCH | URL-Abrufdienst |
Funktionsstatuswerte
Statuswerte für alle Funktionen | Beschreibung |
---|---|
DISABLED |
Die Funktion ist deaktiviert. |
ENABLED |
Die Funktion ist verfügbar und derzeit ist keine Wartung geplant. |
SCHEDULED_MAINTENANCE |
Die Funktion ist verfügbar, aber zur Wartung vorgesehen. |
UNKNOWN |
Der Status dieses Dienstes ist unbekannt. |
Funktionsstatus über die Capabilities API ändern
Verwenden Sie die Klasse LocalCapabilitiesServiceTestConfig, um den Funktionstest für lokale Dienste in der API auszuführen. Weitere Informationen und ein Codebeispiel finden Sie unter Funktionstests für lokale Dienste schreiben.