PHPUnit 3.7テスト スイートをさまざまな php 環境で実行する必要があります。さまざまな php.ini 設定を使用し、さらにはさまざまな OS 環境で実行する必要があります。テスト スイートとその下にあるクラスが常に動作することを確認したい
- php.iniの date.timezone設定はさまざまです。および/または
- OS の内部タイムゾーンは異なります
PHPUnit および CLI (Linux) でテスト環境を適切にセットアップするにはどうすればよいですか?
PHPUnit 3.7テスト スイートをさまざまな php 環境で実行する必要があります。さまざまな php.ini 設定を使用し、さらにはさまざまな OS 環境で実行する必要があります。テスト スイートとその下にあるクラスが常に動作することを確認したい
PHPUnit および CLI (Linux) でテスト環境を適切にセットアップするにはどうすればよいですか?
php.ini 設定とおそらく OS/env vars を変更することだけが必要な場合は、小さな bash スクリプト ラッパーを作成する (または選択したビルド ツールを使用する) ことをお勧めします。
/path/to/php-5.3 -d date.timezone=America/New_york /usr/bin/phpunit
export TZ=Europa/Berlin
/path/to/php-5.4 -d date.timezone=Aemerica/San_Franciso /usr/bin/phpunit
このアプローチはprocess_isolation
、その機能を使用する場合にも機能します。PHPUnit はどの PHP バイナリが使用されたかを把握できますが、「-d」パラメーターに問題がある可能性があります。その場合、それらを php バイナリではなく phpunit に渡します。( phpunit -d date.timezone=foo
)。PHPUnit は、テストを実行する前に設定を処理します。