Question

Je voudrais emballer PHPUnit et diverses autres dépendances de test dans un phar et mettre cela en svn. De cette façon, je peux courir phpunit sur une machine client sans avoir besoin de poire. Cela peut-il être fait?

Était-ce utile?

La solution

Situation actuelle:

Les travaux sur un phpunit.phar a commencé dans le phpunit repo mais le phar généré est pas stable et ne disposent complète.

S'il y arrive, il y aura les versions officielles


Réponse originale:

Si vous je vais vous donner 500 représentant, un 100 Bucks et mon premier-né .. et bien non .. que les deux premiers.

Pour être sérieux:

J'ai harcelait le créateur de PHPUnit sur ce sujet sur au moins 3 conférences maintenant et bien .. il ne semble pas qu'il est possible.

Il y a quelques problèmes avec cela. Tout d'abord PHPUnit fraie nouveaux processus php pour l'isolation de test. Le problème est qu'un phar ne peut pas dire quel exécutable php appelé. Donc, si vous commencez phpunit avec une coutume version compilée, il utiliserait le php « par défaut » installé pour reproduire les essais isolés.

En second lieu pour autant que je sache, et on m'a dit qu'il est impossible de mettre des fichiers statiques comme des images et css dans un phar. Ce qui fait d'assurer une couverture de code beaucoup plus difficile. Cela nécessiterait des travaux sur cette partie.

Il y a d'autres questions que je ne me souviens pas exactement droit de rappel ayant trait à la xDebug être en mesure de fournir une couverture de code pour phars (pour son propre code et reposant phpunit sur ne pas générer de surtitrage et ainsi) et d'autres choses.

There once was a phar mais de ma compréhension qui ne fonctionne pas avec le état actuel de PHPUnit et jamais vraiment ont travaillé completly.


Je ne dis pas qu'il ne peut pas être fait juste que différentes personnes ont déjà renoncé à la création d'un phpunit.phar y compris le gars comment il se développe. (C'est juste mon impression, bien sûr je ne peux pas parler pour Sebastian ici et peut-être tout à fait tort, prenez cela comme un petit avertissement)

Mise PHPUnit dans SVN

Vous ne devez pas construire un .phar de le faire!

Pour mon entreprise je maintiens une version svnd de PHPUnit. Ce n'est pas la méthode recommandée pour l'utiliser, mais cela fonctionne sans problème beaucoup!

Suivez les instructions "using from a git checkout" sur le site GitHub phpunit . Vous devez ensuite mettre ces fichiers dans votre php include_path et il fonctionne.

Ma suggestion serait de créer un phpunit.sh personnalisé qui modifie le chemin d'inclusion et appelle ensuite la phpunit.sh originale passant le long de tous les arguments. Il est un peu de travail, mais cela fonctionne très bien et est un enfer beaucoup plus facile que la création d'une archive phar:)

Autres conseils

De la nouvelle page PHPUnit :

Nous distribuons une archive PHP (PHAR) qui contient tout ce dont vous avez besoin pour utiliser PHPUnit. Il suffit de télécharger à partir de , le rendre exécutable, et le mettre dans votre PATH $, par exemple. .....

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top