Текущий статус:
Работа над phpunit.phar началась в phpunit repo
, но сгенерированный phar нестабилен и не завершен.
Если он попадет туда, будут официальные релизы
Оригинальный ответ:
Если вы можете, я дам вам 500 повторений, 100 баксов и моего первенца ... ну нет ... только первые два.
Если быть серьезным:
Я не давал покоя создателю PHPUnit по этой теме, по крайней мере, на 3 конференциях сейчас и хорошо ... не похоже, что это возможно.
Есть несколько проблем с этим. Прежде всего, PHPUnit порождает новые php-процессы для изоляции тестов. Проблема в том, что phar не может определить, какой исполняемый файл php вызвал его. Поэтому, если вы запустите phpunit с пользовательской скомпилированной версией, она будет использовать php «по умолчанию», установленный для запуска изолированных тестов.
Во-вторых, насколько мне известно, и мне сказали, что невозможно поместить статические файлы, такие как изображения и CSS в phar. Что делает генерацию покрытия кода намного сложнее. Это потребует некоторой работы над этой частью.
Есть и другие проблемы, которые я не могу вспомнить, точно напомню, что именно право xDebug обеспечивало покрытие кода для phars (и phpunit, полагаясь на то, что он не генерирует избыточный код для своего собственного кода и т. Д.) И другие вещи.
There once was a phar
но, насколько я понимаю, это просто не работает с текущим состоянием phpunit и никогда действительно не работало полностью.
Я не говорю, что это невозможно, просто разные люди уже отказались от создания phpunit.phar, включая парня, который его разрабатывает. (Это только мое впечатление, я, конечно, не могу говорить за Себастьяна здесь и могу быть совершенно не прав, примите это как небольшой отказ от ответственности)
Помещение PHPUnit в SVN
Вам не нужно создавать .phar для этого!
Для моей компании я поддерживаю svnd версию PHPUnit. Это не рекомендуемый способ его использования, но он работает без особых проблем!
Следуйте инструкциям "using from a git checkout"
на сайте phpunit github . Затем вам нужно поместить эти файлы в ваш php include путь, и он заработает.
Мое предложение было бы создать собственный phpunit.sh, который изменяет путь включения, а затем вызывает исходный phpunit.sh, передавая все аргументы. Это немного трудоемко, но работает довольно хорошо, и это намного проще, чем создание phar-архива:)