6

PHPUnit と他のさまざまなテストの依存関係を phar にパッケージ化し、それを svn に入れたいと思います。このようにして、pear を必要とせずに任意のクライアント マシンで phpunit を実行できます。これはできますか?

4

2 に答える 2

7

現在のステータス:

で phpunit.phar の作業が開始されましたphpunit repoが、生成された phar は安定しておらず、機能が完全ではありません。

そこに到達すれば、正式なリリースがあります


元の答え:

もしよろしければ、私はあなたに 500 回の担当者と 100 ドルを差し上げます。

真剣に:

私は PHPUnit の作成者に、少なくとも 3 回のカンファレンスでこのトピックについて小言を言いましたが、それが可能だとは思えません。

それにはいくつかの問題があります。まず、PHPUnit は、テスト分離のために新しい php プロセスを生成します。これの問題は、どの php 実行可能ファイルが phar を呼び出したかを phar が判別できないことです。したがって、カスタム コンパイル バージョンで phpunit を起動すると、インストールされている「デフォルト」の php を使用して、分離されたテストが生成されます。

第二に、私の知る限り、イメージや css などの静的ファイルを phar に入れることはできないと言われています。これにより、コード カバレッジの生成が非常に難しくなります。それには、その部分でいくつかの作業が必要になります。

正確に思い出すことができない他の問題があります。 xDebug に関連して phar のコード カバレッジを提供できること (および phpunit が独自のコードの超過を生成しないことに依存していることなど) などがあります。

There once was a pharしかし、私の理解では、phpunitの現在の状態ではうまくいかず、完全に機能することはありませんでした。


phpunit.phar の開発者を含め、さまざまな人がすでに phpunit.phar の作成をあきらめているからといって、それができないと言っているわけではありません。(これは私の印象です。もちろん、ここでセバスチャンの代わりに話すことはできません。完全に間違っている可能性があります。これは免責事項として受け取ってください)

PHPUnit を SVN に入れる

そのために .phar をビルドする必要はありません!

私の会社では、PHPUnit の svnd バージョンを維持しています。推奨される使用方法ではありませんが、問題なく動作します。

"using from a git checkout"phpunit github サイトの指示に従います。次に、これらのファイルを php インクルード パスに配置する必要があります。

私の提案は、インクルード パスを変更し、元の phpunit.sh を呼び出してすべての引数を渡すカスタム phpunit.sh を作成することです。少し手間がかかりますが、うまく機能し、phar アーカイブを作成するよりもはるかに簡単です :)

于 2011-09-06T20:40:14.340 に答える
1

新しい PHPUnit ページから:

PHPUnit を使用するために必要なすべてを含む PHP アーカイブ (PHAR) を配布しています。ここからダウンロードして実行可能にし、$PATH に入れるだけです。

于 2015-08-12T17:05:47.820 に答える