Testy integracyjne dla Google App Engine (java)
Próbuję opracować kilka skutecznych testów integracji dla mojej aplikacji GAE / j. Znam tohttps://developers.google.com/appengine/docs/java/tools/localunittesting - narzędzia te doskonale nadają się do małych testów jednostkowych. Teraz jestem zainteresowany tworzeniem testów integracyjnych, które testują rzeczywiste żądania internetowe. Na przykład chciałbym przetestować, że web.xml odwzorowuje serwlety i filtry na oczekiwane adresy URL i testuje, że moje strony JSP generują to, czego oczekuję.
Moim celem było stworzenie lokalnego serwera rozwoju w JVM, przeciwko któremu mogłem wystrzelić żądania. Jestem jednak otwarty na inne strategie integracyjne; jak mówię powyżej, chcę po prostu efektywnie testować generowanie JSP i inne funkcje na poziomie żądań.
Udało mi się użyć DevAppServerFactory do uruchomienia serwera programistycznego w tej samej maszynie JVM. Wydaje się jednak, że DevAppServer, który to generuje, używa oddzielnego programu ładującego klasy z głównej maszyny JVM. To sprawia, że testowanie jest o wiele trudniejsze - nie mogę użyć żadnej z lokalnych, niezabezpieczających klas lokalnych * TestConfig do kontrolowania zachowania tego serwera. Podobnie, nie mogę „rzucać własnymi” hakami do modyfikowania zachowania za pomocą np. statyka, ponieważ statyka, którą mogę mutować w wiązce testowej, nie jest tą samą statyką, na którą patrzy DevAppServer. To sprawia, że pomijanie funkcji, które nie są kluczowe dla bieżącego testu (np. Wymaganie logowania), wstrzykiwanie niepowodzeń, wstrzykiwanie mocków itp. To naprawdę ogranicza jak całkowicie i wydajnie mogę przetestować mój kod.
Znalazłem prawdziwy brak dokumentacji w sieci do testowania integracji z App Engine. Jestem pewien, że ktoś to zrobił wcześniej ... czy są jakieś wskazówki lub zasoby, które można udostępnić?