Frage

Ich möchte Phpunit und verschiedene andere Testabhängigkeiten in einen Phar packen und dies in SVN einfügen. Auf diese Weise kann ich Phpunit auf jedem Client -Computer ausführen, ohne Birne zu benötigen. Kann das getan werden?

War es hilfreich?

Lösung

Aktueller Status:

Arbeit an einem phpunit.phar hat in der begonnen phpunit repo Das erzeugte PHAR ist jedoch nicht stabil und hat nicht vollständig.

Wenn es dort ankommt, gibt es offizielle Veröffentlichungen


Ursprüngliche Antwort:

Wenn Sie können, gebe ich Ihnen 500 Rep, 100 Dollar und meine ersten geborenen. Nein, nein ... nur die ersten beiden.

Ernst sein:

Ich habe den Schöpfer von Phpunit über dieses Thema auf mindestens 3 Konferenzen jetzt und gut geschworen. Es scheint nicht möglich zu sein.

Damit gibt es ein paar Probleme. Zunächst aus erzeugt Phpunit neue PHP -Prozesse für die Testisolation. Das Problem dabei ist, dass ein PHAR nicht sagen kann, welche PHP -ausführbare Datei es nannte. Wenn Sie also Phpunit mit einer benutzerdefinierten kompilierten Version starten, wird das "Standard" -PHP verwendet, das installiert ist, um die isolierten Tests zu erzeugen.

Zweitens, soweit ich weiß und es wurde gesagt, dass es nicht möglich ist, statische Dateien wie Bilder und CSS in einen Phar zu setzen. Dies erschwert viel schwieriger. Das würde einige Arbeit an diesem Teil erfordern.

Es gibt noch andere Probleme, an die ich mich nicht erinnern kann, wenn er sich genau erinnert, wenn er mit XDEBUG eine Codeabdeckung für PHARs (und Phpunit, die darauf ausgerichtet ist, dass er nicht für seinen eigenen Code usw. zu erzeugen ist, und anderen Dingen zu tun hat.

There once was a phar Aber nach meinem Verständnis, das einfach nicht mit dem aktuellen Zustand von Phpunit und nie funktioniert und nie Ja wirklich arbeitete vollständig.


Ich sage nicht, dass es nicht getan werden kann, nur dass verschiedene Leute bereits aufgegeben haben, einen Phpunit.phar zu erstellen, einschließlich des Typen, wie es sich entwickelt. (Das ist nur mein Eindruck, ich kann hier natürlich nicht für Sebastian sprechen und vielleicht völlig falsch sein. Nehmen Sie dies als kleine Haftungsausschluss.)

Phpunit in SVN einsetzen

Sie müssen keine .phar bauen, um dies zu tun!

Für meine Firma unterhalte ich eine SVND -Version von Phpunit. Es ist nicht die empfohlene Art, es zu verwenden, aber es funktioniert ohne viele Probleme!

Folge dem "using from a git checkout" Anweisungen auf der Phpunit Github Site. Anschließend müssen Sie diese Dateien in Ihren PHP enthalten Pfad und es funktioniert.

Mein Vorschlag wäre, eine benutzerdefinierte Phpunit.sh zu erstellen, die den Include -Pfad ändert und dann das ursprüngliche phpunit.sh über alle Argumente weitergibt. Es ist ein bisschen Arbeit, aber es funktioniert ganz gut und es ist verdammt viel einfacher als ein Phar -Archiv zu erstellen :)

Andere Tipps

Von dem Neue Phpunit -Seite:

Wir verteilen ein PHP -Archiv (PHC), das alles enthält, was Sie benötigen, um Phpunit zu verwenden. Laden Sie es einfach herunter von hier, machen Sie es ausführbar und stecken Sie es beispielsweise in Ihren $ path ......

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top