3

私のphpunit.xmlファイルには、次のようなコードカバレッジレポートをログに記録するためのチャンクがあります。

<logging>
    <log type="coverage-html" target="./logs/coverage" ...
</logging>

ただし、ターゲットパスにハードコードされた文字列を使用するのは好きではありません。各ユーザーが環境変数を介してターゲットを指定できるようにして、ソース制御ファイルを変更することなく、ログを好きな場所に移動できるようにしたいと思います。私はこのようなことをしたいと思っています:

<logging>
    <log type="coverage-html" target="$LOG_PATH" ...
</logging>

PHPUnitのドキュメントでは、この種の置換のサポートは見当たりません。誰かがこれを達成する方法についてのアイデアを持っていますか?

4

2 に答える 2

11

phpunit.xml実際には、リポジトリに入れるべきではありません。PHPUnit は、実行時に と の 2 つの XML ファイルを探しphpunit.xmlますphpunit.xml.dist。見つかった場合は常に優先phpunit.xmlされ、見つからない場合は にフォールバックしphpunit.xml.distます。ドキュメントから:

phpunit.xml または phpunit.xml.dist (この順序で) が現在の作業ディレクトリに存在し、 --configuration が使用されていない場合、構成はそのファイルから自動的に読み取られます。

そうは言ってもphpunit.xml.dist、テストを実行するためのテンプレート/ボイラープレートのセットアップとしてリポジトリに含める必要があります。次に、個々の開発者がphpunit.xml特定の設定を追加したい場合は、そこから独自の設定を作成できます。

また、phpunit.xmlリポジトリではファイルを無視する必要があります。

于 2013-03-05T11:24:45.020 に答える
0

Herr Bergmanによると:

protected $backupGlobals = FALSE;

テスト クラスでは、グローバル変数のバックアップと復元の (既定の) 動作を無効にします。ただし、これを setUp メソッドに入れても効果がないことに注意してください。それが役立つことを願っています。

于 2013-02-28T15:47:51.897 に答える