Funktionsdiensttests konfigurieren

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:

  1. 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.
  2. Klicken Sie in der Konsole unten links auf Funktionsstatus.
  3. 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:

  1. 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.
  2. 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

    Dabei wurde capabilityname durch den Dienstnamen (siehe (Dienst)-Namen von Funktionen) und statusname durch den Funktionsstatus ersetzt, den Sie verwenden möchten (siehe Funktionsstatuswerte).

    Hinweis: Ersetzen Sie bei der Datenspeicher-Schreibfunktion capabilityname durch datastore_v3 und das Sternchen (*) durch write: 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:

  3. Klicken Sie auf Anwenden, um die Änderungen zu speichern.
  4. 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 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.