4

PHPUnit と xdebug がインストールされており、CLI の php.ini ファイルには次のものがあります。

display_errors = On
xdebug.default_enable = 1

対話型コンソールを使用してエラーを作成すると xdebug バックトレースが出力されることを確認しましたが、phpunit の実行中にエラーが発生した場合、バックトレースはありませんか?

バックトレースに何が起こっていますか?phpunitは私からそれを隠していますか? 不足している設定はありますか?

ありがとう!

4

2 に答える 2

8

バックトレースに何が起こっていますか?phpunitは私からそれを隠していますか?

はい、PHPUnit は xdebug を無効にします。少なくともこれらのトレースは ( xdebug_disable()Docsを呼び出して) 無効にします。

不足している設定はありますか?

Docsで再度有効にするブートストラップファイルを追加できます。これは機能しますが、スローされた例外 (キャッチまたはアンキャッチ) のスタック トレースも表示されます。xdebug_enable()

同様に参照してください:問題 #221 PHPUnit が xdebugを無効にします。別の ini 設定が推奨されています。

sebastianbergmann : 問題はxdebug.show_exception_trace構成設定です。に設定すると1、「例外が発生するたびにスタック トレースが表示されます - この例外が実際にキャッチされた場合でも」. この動作により、PHPUnit の出力が壊れます。

私の記憶が正しければ、デリックはxdebug_disable();overの使用を推奨しましたini_set('xdebug.show_exception_trace', 0);

于 2011-08-03T23:11:59.297 に答える
1

これは、phpunit を使用した単体テストが、CLI アプリケーションであるコンソールから実行されるためです。次のコマンドで実行できるはずです。

php -dhtml_errors=1 `which phpunit` yourteststuff.
于 2011-08-03T22:56:08.290 に答える