phpunitをpharとしてパッケージ化できますか?
質問
phpunitやその他のさまざまなテスト依存関係をpharにパッケージ化し、それをSVNに入れたいと思います。これにより、梨を必要とせずに、クライアントマシンでphpunitを実行できます。これはできますか?
解決
現在のステータス:
phpunit.pharで作業しています phpunit repo
しかし、生成されたファーは安定しておらず、機能が完全ではありません。
そこに着くと公式のリリースがあります
元の答え:
できるなら、私はあなたに500人の担当者、100ドル、そして私の最初の生まれを与えます。
真剣になる:
私は、少なくとも3つの会議でこのトピックについてPhpunitの作成者を悩ませました。それは可能ではないようです。
それにはいくつかの問題があります。まず、PHPunitがテスト分離のために新しいPHPプロセスを生み出します。これに関する問題は、ファーがどのPHP実行可能ファイルがそれを呼んだかを知らないことです。したがって、カスタムコンパイルされたバージョンでphpunitを起動すると、分離されたテストを生成するためにインストールされた「デフォルト」PHPを使用します。
第二に、私が知る限り、画像やCSSなどの静的ファイルをPHARに配置することは不可能であると言われています。これにより、コードカバレッジの生成がずっと難しくなります。その部分での作業が必要です。
XdebugがPhARのコードカバレッジを提供できることに正確に思い出すことができない他の問題があります(そして、それ自体のコードなどの過剰を生成しないことに依存しているPHPunitなど)。
There once was a phar
しかし、私の理解から、Phpunitの現在の状態でうまくいかないだけでなく 本当 完全に働いた。
私はそれができないと言っているわけではありません。ただ、さまざまな人々がPhpunit.pharを作成することをあきらめているということではありません。 (それは私の印象です。もちろん、ここではセバスチャンのために話すことはできず、完全に間違っているかもしれません。これを少し免責事項とみなしてください)
phpunitをsvnに入れます
そうするために.pharを構築する必要はありません!
私の会社のために、私はphpunitのsvndバージョンを維持しています。それはそれを使用する推奨される方法ではありませんが、それは多くの問題なしに機能します!
フォローしてください "using from a git checkout"
phpunit githubサイトの指示. 。その後、これらのファイルをPHPに含めるパスに配置する必要があり、機能します。
私の提案は、含まれるパスを変更し、元のphpunit.shを呼び出すカスタムphpunit.shを作成することです。それは少し仕事ですが、それは非常にうまく機能し、Pharアーカイブを作成するよりもずっと簡単な地獄です:)
他のヒント
から 新しいphpunitページ:
phpunitを使用するために必要なものをすべて含むPHPアーカイブ(PHAR)を配布します。からダウンロードするだけです ここ, 、それを実行可能にして、たとえばあなたの$パスに入れてください......