2016-07-21 16 views
0

Um PHPUnit-Tests in Google Clouds App Engine auszuführen, muss ich einen Befehl in der Befehlszeile ausführen, wie zum Beispiel phpunit --bootstrap src/autoload.php tests/MoneyTest.Wie kann ich PHPUnit mit der App Engine von Google Cloud verwenden?

Ich habe versucht, die Google Cloud Shell in der Cloud Console zu öffnen, aber ich kann den Code, den ich hochgeladen habe, nicht finden, um diesen Befehl ausführen zu können. Wenn ich find -name "index.php" verwende zeigt es mir Verzeichnisse wie ./etc/docker und ./run/docker und eine Reihe anderer Standorte, aber alle geben eine Permission denied Nachricht zurück.

Auf der anderen Seite habe ich versucht, eine spezielle Webseite test.php zu erstellen, die nur die Tests ausführen würde, die ich machen wollte, aber ich bekomme einen Timeout-Fehler, da die Tests zu lange dauern und es nach einigen abgeschnitten wird Sekunden.

Wie kann ich PHPUnit-Tests auf der AppEngine verwenden, und nicht nur lokal auf meinem Computer?

Antwort

1

App Engine ist nicht das beste Tool, um dieses Problem zu lösen, da App Engine für die Verarbeitung kurzlebiger HTTP-Anforderungen ausgelegt ist und keine langen Prozesse ausführt. Ja, es gibt Möglichkeiten, Jobs bis zu 10 Minuten auszuführen, aber irgendwann werden Sie auch diese Zeitüberschreitung erreichen.

Google Cloud Platform bietet bessere Lösungen für lang laufende Prozesse. Das einfachste ist Google Compute Engine, wo Sie eine dedizierte Linux-Instanz ausführen können.