Integrationstests für Google App Engine (Java)

Ich versuche, einige effektive Integrationstests für meine GAE / j-Anwendung zu entwickeln. Ich kenne mich aus mithttps://developers.google.com/appengine/docs/java/tools/localunittesting - Diese Werkzeuge eignen sich hervorragend für Tests in kleinen Einheiten. Ich bin jetzt daran interessiert, Integrationstests zu entwickeln, die aktuelle Webanforderungen testen. Zum Beispiel möchte ich testen, ob web.xml Servlets und Filter den erwarteten URLs zuordnet und ob meine JSPs das erzeugen, was ich erwarte.

Mein Ziel war es, einen lokalen Entwicklungsserver in der JVM zu installieren, gegen den ich Anfragen abfeuern konnte. Ich bin jedoch offen für andere Integrationsstrategien. Wie ich bereits sagte, möchte ich nur die JSP-Generierung und andere Funktionen auf Anforderungsebene effektiv testen.

Ich habe es geschafft, mit DevAppServerFactory einen Entwicklungsserver in derselben JVM zu starten. Es scheint jedoch, dass der hierdurch generierte DevAppServer einen von der Haupt-JVM getrennten Classloader verwendet. Das macht das Testen sehr viel schwieriger - ich kann keine der lokalen, nicht testbaren Local * TestConfig-Klassen verwenden, um das Verhalten dieses Servers zu steuern. In ähnlicher Weise kann ich meine eigenen Hooks nicht "rollen", um das Verhalten über z. Statik, da die Statik, die ich im Testkabelbaum ändern kann, nicht mit der des DevAppServers übereinstimmt. Dies macht es schwierig, Funktionen zu überspringen, die für den aktuellen Test nicht von zentraler Bedeutung sind (z. B. das Erfordernis der Anmeldung), Fehler zu injizieren, Mocks zu injizieren usw. Dies schränkt wirklich ein, wie vollständig und effizient ich meinen Code testen kann.

Ich habe im Web einen echten Mangel an Dokumentation für Integrationstests mit App Engine gefunden. Ich bin mir sicher, dass dies schon jemand getan hat ... Gibt es irgendwelche Tipps oder Ressourcen, die Sie teilen können?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage