21

単体テストに PHPUnit を使用していますが、致命的なエラーが発生するとスクリプトが停止し、正しい PHPUnit 出力が得られません

Eclipse のプラグインによって読み取られるため、PHPUnit の出力が正しい形式のままであることを望みます。実際には、致命的なエラーによって PHPUnit が停止し、Eclipse ではプラグインが何も解釈できません (PHPUnit スクリプトにエラーがあったため、エラーを処理する代わりに)。

ありがとう

4

2 に答える 2

29

PHPUnit のプロセス分離機能を使用する必要があります。各テスト スイートを新しいプロセスで開始します。

phpunit --process-isolation ...

これは、致命的なエラーによって phpunit の出力が壊れないようにする唯一の方法です。

実行時間

単一のテストごとに、新しい PHP インスタンスが開始され、ブートストラップが実行されるため、プロセスの分離により、テストの実行時間が倍増します。

この状況を修正するには、完全なテスト ケースを別のプロセスで実行する@runTestsInSeparateProcessesか ( )、致命的な結果になることがわかっている単一のテスト ケースのみを実行するか ( ) を選択できます@runInSeparateProcess

于 2010-10-01T19:12:27.723 に答える
2

set_error_handler() は役に立ちません。register_shutdown_function()を使用して致命的なエラーをキャッチできます

于 2010-10-01T18:13:43.323 に答える