2

PHPUnit 3.7テスト スイートをさまざまな php 環境で実行する必要があります。さまざまな php.ini 設定を使用し、さらにはさまざまな OS 環境で実行する必要があります。テスト スイートとその下にあるクラスが常に動作することを確認したい

  • php.iniの date.timezone設定はさまざまです。および/または
  • OS の内部タイムゾーンは異なります

PHPUnit および CLI (Linux) でテスト環境を適切にセットアップするにはどうすればよいですか?

4

1 に答える 1

2

php.ini 設定とおそらく OS/env vars を変更することだけが必要な場合は、小さな bash スクリプト ラッパーを作成する (または選択したビルド ツールを使用する) ことをお勧めします。

別のタイムゾーンで PHP 5.3 を使用する場合:

/path/to/php-5.3 -d date.timezone=America/New_york /usr/bin/phpunit

別のタイムゾーンと異なる ENV で PHP 5.4 を使用する

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 は、テストを実行する前に設定を処理します。

于 2012-11-19T10:01:24.800 に答える